笑一阵
笑一阵
  • 发布:2016-06-29 18:18
  • 更新:2019-02-22 15:29
  • 阅读:1723

如何将gallery选中的图片上传到七牛上去

分类:HTML5+

七牛的form表单存储 需要的格式必须是file 但是gallery只能获得路径 请教一下大家谁用过什么好的方法

最差的情况就是要把gallery换成file的input了 但是这样用户体验非常不良好而且不利于剪切之类的后续操作

2016-06-29 18:18 负责人:无 分享
已邀请:
6***@qq.com

6***@qq.com

你好解决了吗?我现在也遇到了这个问题。如果解决了麻烦告诉一声 谢谢

t***@qq.com

t***@qq.com

使用html5+ 的 uploader模块

f***@163.com

f***@163.com

function uploadImgToQiniu(e, n, t) {
var o = [],
i = [];
Array.isArray(e) ? i = e : i.push(e), $.api("token", {}, function(e) {
var r = e.data.token;
i.forEach(function(e) {
var a = new Image();
a.onload = function() {
var s, u, c = a.width,
l = a.height,
f = 1200;
(c > f || l > f) && (c >= l ? (s = f + "px", u = "auto") : (u = f + "px", s = "auto"));
var d = userInfo.myInviteCode + "_" + Date.now() + ".jpg",
p = "_downloads/" + d;
plus.zip.compressImage({
src: e,
dst: p,
overwrite: !0,
format: "jpg",
quality: 60,
width: s,
height: u
}, function(e) {
var a = e.target,
s = plus.uploader.createUpload(config.qiniuUpload, {
method: "POST"
}, function(e, r) {
if(200 == r) {
var a = JSON.parse(e.responseText);
o.push(a.key), o.length === i.length && n(o);
} else t("\u4e0a\u4f20\u5931\u8d25");
del_file(p);
});
s.addData("token", r), s.addFile(a, {
key: "file"
}), s.addData("key", d), s.start();
}, function(e) {
t("\u4e0a\u4f20\u5931\u8d25");
});
}, a.src = e;
});
}, function(e) {
t("\u4e0a\u4f20\u5931\u8d25");
}, function() {
t("\u7f51\u7edc\u9519\u8bef\uff0c\u4e0a\u4f20\u5931\u8d25");
}, function() {});
}

立树

立树 - 前端程序猿

写了篇七牛图片上传的技术分享:使用 uploader 进行七牛图片上传
.
先贴出文章的代码,详细内容还是去看文章吧。

// 从相册获取图片  
plus.gallery.pick(function(ret){  

    // 获取图片名称  
    var path = ret;  
    var file = ret.substr(ret.lastIndexOf("/")+1);  
    var token = "xxxxxxx";    // 填写你的七牛上传令牌  

    // 上传图片  
    var url = "http://upload.qiniu.com/";  
    var uploader = plus.uploader.createUpload(url,{},function(up,state){  
        if( state==200 )  
            Console("上传成功");  
        else  
            Console("上传失败 - ",state);  
    });  

    uploader.addData("key",file);  
    uploader.addData("token",token);  
    uploader.addFile(path,{"key":"file"});  // 固定值,千万不要改!!!!  
    uploader.start();  

});
7***@qq.com

7***@qq.com

我使用的是houheaven - 前端程序猿 提供的方法,可以一直报401的错误!有没有解决了的?

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