【发布时间】:2015-11-16 19:29:31
【问题描述】:
对 Javascript 相当陌生,但在尝试了很多事情后仍然遇到这个问题:
我正在使用http://ngcordova.com/docs/plugins/camera/ 在手机上捕获图像,并且可以检索为 base64 编码的图像或图像位置的路径 (file://storage/emulated/...jpg)。
接下来我用它来上传文件到谷歌驱动器: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();
但是当我上传图片时,它无法查看,我认为这是因为我编码错误。
这是我迄今为止尝试过的:
- 直接使用 base64 编码的图像数据
- 创建一个图像/jpeg 类型的 blob 并将 64 编码的图像数据放入其中
- 在图像数据前面附加“data:image/jpeg;base64”
- 此人建议:https://stackoverflow.com/a/27197907/5568940
是否也可以使用 FileReader 将图像路径读入 File 中?对于上述示例代码,我只是无法弄清楚图像的“文件:内容”部分究竟应该包含什么内容。
任何帮助将不胜感激!
【问题讨论】:
标签: javascript image upload google-drive-api ngcordova