У меня есть ссылка на видео, как это 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).