如何使用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();

但是当我上传一张图片时,它不能被查看,我认为这是因为我编码错了。

以下是我迄今为止所尝试的内容:

  • 直接使用base64编码的图像数据
  • 创建一个图像/ JPEG类型的斑点,并把64编码的图像数据放在里面
  • 在图像数据前添加“data:image / jpeg; base64”
  • 此人的建议:https://stackoverflow.com/a/27197907/5568940
  • 是否也可以使用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); });

    链接地址: http://www.djcxy.com/p/5349.html

    上一篇: how to use a base64

    下一篇: FormData() not working in Firefox and Internet Explorer; only Chrome is OK