使用javascript读取文件并将其发送到服务器
我正在使用GoogleDriveAPI,我正在尝试从url下载一个文件,将其设置为变量并发送到后端。请注意,我使用的是谷歌硬盘的javascript选择器 旁注:首先,我尝试将使用javascript读取文件并将其发送到服务器,javascript,vue.js,google-api,google-drive-api,Javascript,Vue.js,Google Api,Google Drive Api,我正在使用GoogleDriveAPI,我正在尝试从url下载一个文件,将其设置为变量并发送到后端。请注意,我使用的是谷歌硬盘的javascript选择器 旁注:首先,我尝试将id\u令牌和fileId发送到后端,并尝试访问该文件,但我无法使用相关作用域对用户进行身份验证,因为该用户是通过javascript而非php进行身份验证的 因此,我决定使用axios获取该文件,并将其保存到一个变量中,然后将该文件发送到我的后端 var downloadUrl = typeof file.exportL
id\u令牌
和fileId
发送到后端,并尝试访问该文件,但我无法使用相关作用域对用户进行身份验证,因为该用户是通过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);
});
我试过用这个,但这个会
加载失败:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。因此,不允许访问源“”
使用axios,如何从url下载文件并将其设置为变量?使用驱动器API下载文件的支持操作已在以下文档中说明: 根据您要执行的下载类型(文件、谷歌文档或内容链接),您将使用以下URL之一:
- 下载文件-files.get with alt=媒体文件资源
- 下载并导出Google文档-files.export
- 将用户链接到文件-文件资源中的WebContent链接
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');
}
}
希望您能从实现开始。未经用户许可,谷歌不会允许这样做。看到是的,但在这一点上,我需要将它发送到我的后端服务器以下载文件,因为我使用picker时,用户在我的后端实际上没有经过身份验证,因此我无法在我的后端下载文件。您的方法可以工作,但我需要在变量中分配此文件,并在Post请求中将其发送到。是否可以下载前端带有javascript的文件,然后像“文件类型输入文件”一样发送到后端?