damdmen
damdmen
  • 发布:2016-01-25 22:23
  • 更新:2016-01-26 10:56
  • 阅读:4165

怎么上传系统相册图片到bmob后端云

分类:HTML5+

在plus.gallery.pick获取到图片的path后:

plus.io.resolveLocalFileSystemURL( path, function(entry){  
                    entry.file( function(file){  
                        var fileReader = new plus.io.FileReader();  
                        fileReader.readAsText(file, 'utf-8');  
                        fileReader.onloadend = function(evt) {  
                            var uploadfile = new Bmob.File("ahhsdhk.jpg",evt.target.result);  
                            uploadfile.save().then(function(obj) {  
                              alert(obj.url());  
                            }, function(error) {  
                              console.log(JSON.stringify(error));  
                            });  
                        }  
                    } );  
                },function(error){  
                    console.log(JSON.stringify(error));  
                });

结果文件传上去了,但是打开是已损坏,我怀疑是打开方式ReadAsText不对?还是以utf-8编码打开所以出问题了?bmob官方的js文档中说要这样上传文件

var bytes = "Hello, World!";  
var file = new Bmob.File("hello.txt", bytes);  
file.save().then(function(obj) {  
  //alert(obj.url());  
}, function(error) {  
  // the save failed.  
});

请问我哪里出错了?不应该先把系统相册里的图片读到一个变量里吗?

2016-01-25 22:23 负责人:无 分享
已邀请:
柏原崇

柏原崇

没办法的,获取不到对象。我上传阿里云也是同样的问题。提交图片必须传入的是对象,然后用表单提交。从相册选的官方提供方法只能返回路径,读成文本或者数据流。完整的对象无法获取,我都折腾了一天了,最后还是无奈换成其他方法。

  • damdmen (作者)

    应该是有方法的吧?那亲你最后换什么解决方案了?

    2016-01-26 12:52

  • damdmen (作者)

    得到base64后转换成blob对象再构造formData上传,你试过了么

    2016-03-07 18:12

  • 柏原崇

    就是用这种方法

    2016-03-09 12:59

  • 5***@qq.com

    你好 请问解决了吗 把相册图片保存到bmob上

    2017-09-08 22:16

该问题目前已经被锁定, 无法添加新回复