Javascript相当新,在尝试了很多事情后仍然遇到这个问题:
我正在使用http://ngcordova.com/docs/plugins/camera/来捕获手机上的图像,并且可以检索为base64编码的图像或图像位置的路径(文件://storage/emulated/...jpg )。
接下来,我使用此功能将文件上传到Google云端硬盘:https://github.com/googledrive/cors-upload-sample
我已成功上传了一个包含给定示例的文本文件:
* @example
* var content = new Blob(["Hello world"], {"type": "text/plain"});
* var uploader = new MediaUploader({
* file: content,
* token: accessToken,
* onComplete: function(data) { ... }
* onError: function(data) { ... }
* });
* uploader.upload();
但是当我上传图片时,它无法查看,我认为这是因为我编码错了。
这是我到目前为止所尝试的内容:
是否也可以使用FileReader将图像路径读入文件?我只是无法弄清楚究竟应该进入上述示例代码的图像的“file:content”部分。
非常感谢任何帮助!
答案 0 :(得分:0)
上传期待原始图像字节。
没有试过这个,但最简单的方法可能是使用你可以解析为文件的图像URL(也是一个blob:)
类似的东西:
window.resolveLocalFileSystemURL(uri, function(fileEntry) {
var errorHandler = ...;
fileEntry.file(function(file) {
var uploader = new MediaUploader({
file: file,
token: accessToken,
onComplete: function(data) { ... }
onError: function(data) { ... }
});
uploader.upload();
}, errorHandler);
});