как скачать видео файл с другого сайта на моем сайте ?, я использую asp .net core 3 - PullRequest
1 голос
/ 03 октября 2019

У меня есть ссылка на видео, как это https://ia801307.us.archive.org/9/items/tjdeebok/tjdeeb10.mp4 Я хочу сделать кнопку или ссылку, чтобы загрузить это видео

Я пытаюсь сделать это, но у меня есть проблема с CORS

new Vue({
  el: '#app',
  data() {
    return {
      url: 'https://ia801307.us.archive.org/9/items/tjdeebok/tjdeeb10.mp4'
    }
  },

  methods: {

    forceFileDownload(response) {
      const url = window.URL.createObjectURL(new Blob([response.data]))
      const link = document.createElement('a')
      link.href = url
      link.setAttribute('download', 'file.png') //or any other extension
      document.body.appendChild(link)
      link.click()
    },

    downloadWithVueResource() {

      this.$http({
          method: 'get',
          url: this.url,
          responseType: 'blob'
        })
        .then(response => {
          this.forceFileDownload(response)
        })
        .catch(() => console.log('error occured'))

    },

    downloadWithAxios() {
      axios({
          method: 'GET',
          url: this.url,
          responseType: 'blob',
          headers: {
            'Access-Control-Allow-Origin': '*',
            'Access-Control-Allow-Methods': 'GET,PUT,POST,DELETE,PATCH,OPTIONS',
          }
        })
        .then(response => {

          this.forceFileDownload(response)

        })
        .catch(() => console.log('error occured'))
    }
  }

})
<div id="app">
  <button @@click="downloadWithVueResource">Download file with Vue Resource</button>
  <button @@click="downloadWithAxios">Download file with Axios</button>
</div>

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://ia801307.us.archive.org/9/items/tjdeebok/tjdeeb10.mp4. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).

...