繁体   English   中英

上传到Google云端硬盘-如何使用base64编码的图像或图像路径

[英]Uploading to Google Drive - how to use a base64-encoded image or an image path

对Javascript来说还很陌生,在尝试了很多尝试之后仍然遇到了这个问题:

我正在使用http://ngcordova.com/docs/plugins/camera/在手机上捕获图像,并且可以将其检索为base64编码的图像或图像位置的路径(file:// storage /仿真/...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();

但是,当我上传图像时,无法查看它,我认为这是因为我将其编码错误。

到目前为止,这是我尝试过的方法:

  • 直接使用base64编码的imagedata
  • 创建图片/ jpeg类型的斑点并将64编码的图像数据放入其中
  • 在imagedata前面附加“ data:image / jpeg; base64”
  • 此人的建议: https : //stackoverflow.com/a/27197907/5568940

是否还可以使用FileReader代替将图像路径读取到File中? 对于上述示例代码,我只是无法弄清楚图像的“文件:内容”部分到底应该输入什么。

任何帮助将不胜感激!

上载需要原始图像字节。

尚未尝试过,但是最简单的方法可能是处理图像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); });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM