gpt4 book ai didi

javascript - 使用javascript读取文件并将其发送到服务器

转载 作者:行者123 更新时间:2023-12-03 02:58:46 25 4
gpt4 key购买 nike

我正在使用 google Drive api,我正在尝试从 url 下载文件,将其设置为变量并将其发送到后端。请注意,我使用 Google Drive 的 javascript 选择器。

旁注:首先,我尝试将 id_tokenfileId 发送到后端并尝试访问该文件,但我无法将具有相关范围的用户身份验证为用户在 javascript 而非 php 中进行身份验证。

所以我决定使用 axios 获取文件并将其保存到变量中,然后将文件发送到我的后端。

var downloadUrl = typeof file.exportLinks !== 'undefined' ? 
file.exportLinks['application/pdf'] : file.webContentLink

axios.get(downloadUrl, {
headers: {
Authorization: 'bearer ' + gapi.client.getToken().access_token,
'Access-Control-Allow-Origin': '*'
}
}).then(function (response) {
console.log(response)
}).catch(function (error) {
console.log(error);
});

我尝试使用这个,但这会抛出

Failed to load https://drive.google.com/uc?id=aba123bab23r24-m9_Mp4aiDcnibNf&export=download: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://deftfax.app' is therefore not allowed access.

使用axios,如何从url下载文件并将其设置为变量?

最佳答案

使用 Drive API 下载文件的支持操作已记录在 Download Files 中:

根据您要执行的下载类型(文件、Google 文档或内容链接),您将使用以下网址之一:

  • 下载文件 - files.get 并使用 alt=媒体文件资源
  • 下载并导出 Google 文档 - files.export
  • 将用户链接到文件 - 来自文件资源的 webContentLink

我自己可以使用 Picker API 通过 webcontentlink 下载图像文件:

function downloadImage(data) {
if (data.action == google.picker.Action.PICKED) {

var fileId = data.docs[0].id;
var webcontentlink = ' https://docs.google.com/uc?id='+fileId+'&export=download'

window.open( webcontentlink,'image/png');
}
}

希望您可以开始实现。

关于javascript - 使用javascript读取文件并将其发送到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47501897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com