在我的反应应用程序中,我有一个文件对象,我想将此文件上传到谷歌驱动器。
我尝试使用 window.URL.createObjectURL,但谷歌驱动器上上传的文件是我网站的 HTML 代码,而不是文件“f.mp4”。
有谁知道如何在浏览器中将文件对象上传到谷歌驱动器????
var xhr = new XMLHttpRequest();
xhr.open("GET", url);
xhr.responseType = "blob";
xhr.onload = function () {
let gDoxBlob = xhr.response;
let file = new File([gDoxBlob], "f.mp4", {
type: 'video/mp4'
})
let newUrl = window.URL.createObjectURL(file);
console.log(url, newUrl.slice(5))
gapi.savetodrive.render('savetodrive-div', {
src: newUrl.slice(5), // to remove 'blob:'
filename: 'file',
sitename: 'site'
});
}
xhr.send();
如需更多解释,
“url”是来自 firebase 存储的下载 url。
对于 Dropbox,带有“url”的 Dropbox.save 效果很好。
但由于 CORS 错误,谷歌驱动器无法使用“url”
我试图设置我的 firebase cors 策略,但它不起作用,所以我在从“url”下载文件后尝试使用文件对象。