博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微信多图上传的问题
阅读量:4487 次
发布时间:2019-06-08

本文共 2711 字,大约阅读时间需要 9 分钟。

1 document.querySelector('#upload_img').onclick = function () { 2         wx.chooseImage({ 3             success: function (res) { 4                 var i = 0, length = res.localIds.length; 5                 if (length == 0) { 6                     alert('请先选择图片'); 7                     return; 8                 } 9                 var server_id_list = [];10                 function upload() {11                     //for (var i = 0, length = res.localIds.length; i < length; i++) {
12 wx.uploadImage({13 localId: res.localIds[i],14 success: function (res) {15 i++;16 server_id_list.push(res.serverId);17 $.Malert('已上传:' + i + '/' + length);18 if (server_id_list.length == length) {19 //$.Malert('down:' + server_id_list.length);20 downloadWxPic(server_id_list);21 }22 if (i < length) {23 upload();24 }25 26 },27 fail: function (res) {28 alert(JSON.stringify(res));29 }30 });31 //}32 }33 upload();34 }35 });36 };
View Code

千万不要使用for循环进行图片上传,而是要像现在一样用递归的方法进行上传。

不然会在苹果手机上永远只会上传一张图片。

 

另外,在上传微信后取回本地的过程中,如果使用

WebClient mywebclient = new WebClient();

mywebclient.DownloadFile(requestUrl, filePath);

有时候取回的文件大小只有1K,这时候就是操作系统本身,画图程序一类的也根本无法打开,也就是说文件是有问题的。

不知道有没有人遇到过。如果有的话,请告诉我解决办法。成分感激。

所以取回文件暂时用了以下代码,不过还不知道会不会出现下载文件只有1K的情况

1                 Stream str = mywebclient.OpenRead(requestUrl); 2                 StreamReader reader = new StreamReader(str); 3                 byte[] mbyte = new byte[10000000]; //9.53M 4                 int allmybyte = (int)mbyte.Length; 5                 int startmbyte = 0; 6  7                 while (allmybyte > 0) 8                 { 9 10                     int m = str.Read(mbyte, startmbyte, allmybyte);11                     if (m == 0)12                         break;13 14                     startmbyte += m;15                     allmybyte -= m;16                 }17 18                 reader.Dispose();19                 str.Dispose();20 21                 FileStream fstr = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.Write);22                 fstr.Write(mbyte, 0, startmbyte);23                 fstr.Flush();24                 fstr.Close();

 

转载于:https://www.cnblogs.com/jasonlam/p/6099722.html

你可能感兴趣的文章
SpringMVC整合kaptcha(验证码功能)
查看>>
[置顶] Android Sensor系统剖析(4.0)(下)
查看>>
通用高性能 Windows Socket 组件 HP-Socket v2.2.2 更新发布
查看>>
友盟分享
查看>>
并发编程
查看>>
SQL SERVER 常用命令
查看>>
SQL SERVER 锁2
查看>>
PERCONA-TOOLKIT 工具文档
查看>>
再议mysql 主从配置
查看>>
cocos2dx中设置横竖版
查看>>
数据结构与算法之间的关系
查看>>
android捕获ListView中每个item点击事件
查看>>
海量数据处理算法—Bit-Map
查看>>
CentOS7 对比 CentOS6
查看>>
Android之条码扫描二维码扫描
查看>>
C++ ofstream和ifstream
查看>>
方法--动手又动脑 2018/10/14
查看>>
工作日志WebRoot--时间插件弹出层被遮挡
查看>>
常用的按键/输入口检测程序
查看>>
清晰易懂!关于PS入门的超详细笔记!
查看>>