微信多图上传的问题

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 };
千万不要使用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();
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· 软件产品开发中常见的10个问题及处理方法
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· Vite CVE-2025-30208 安全漏洞
· MQ 如何保证数据一致性?
· 《HelloGitHub》第 108 期