1

在我的反应应用程序中,我有一个文件对象,我想将此文件上传到谷歌驱动器。

我尝试使用 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”下载文件后尝试使用文件对象。

4

0 回答 0