如何使用base64
相当新的JavaScript,并尝试了很多事情后仍然遇到这个问题:
我使用http://ngcordova.com/docs/plugins/camera/在手机上捕获图像,并可以检索为base64编码的图像或作为图像位置的路径(file:// storage /仿真/ ... 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();
但是当我上传一张图片时,它不能被查看,我认为这是因为我编码错了。
以下是我迄今为止所尝试的内容:
是否也可以使用FileReader将图像路径读入文件? 我只是无法弄清楚上面示例代码的图像的“file:content”部分究竟应该放到哪里。
任何帮助将不胜感激!
上传期望的是原始图像字节。
还没有尝试过,但最简单的方法可能与图像网址,你可以解析为一个文件(这也是一个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); });
上一篇: how to use a base64
下一篇: FormData() not working in Firefox and Internet Explorer; only Chrome is OK