【发布时间】:2018-10-02 02:43:58
【问题描述】:
我只是使用带有 Ajax Upload 的签名 url 将文件上传到谷歌云存储。
function uploadToGCS(url,file,callback) {
var ajax = new XMLHttpRequest();
//PROGRESS HANDLER
ajax.upload.addEventListener("progress", function(event) {
if (event.lengthComputable) {
var percent = ((event.loaded / event.total) * 100);
if(callback != null) {
callback(0,Math.round(percent));
}
}
}, false);
//COMPLETE HANDLER
ajax.addEventListener("load", function(event) {
if(callback != null) {
callback(1,0);
}
}, false);
//ERROR HANDLER
ajax.addEventListener("error", function(event) {
if(callback != null) {
callback(-1,0);
}
}, false);
//ABORT HANDLER
ajax.addEventListener("abort", function(event) {
if(callback != null) {
callback(-2,0);
}
}, false);
ajax.open("PUT", url,true);
var fd = new FormData();
fd.append('file', file);
ajax.setRequestHeader('Content-Type', file.type);
ajax.send(fd);
}
已完全上传。但是尝试从 Bucket 下载文件,文件像媒体文件一样损坏,否则 pdf,txt 文件工作正常。有什么建议请给我建议谢谢。
【问题讨论】: