已解决; imageUrl 分享图不要超过200kb 否则显示错误码:-3 用usb直接连手机生成的app因为签名不同,分享失败显示错误码:-6
已认证的应用无法分享小程序到微信?小程序appid:wxb9cdda55a863c20c 小程序原始id:gh_365895a655bd 应用appid:wxaee2ab92ae8d70a2 [图片] app分享图文、文字可以,但是分享小程序不行 (ps:应用审核通过,但是应用未上架,小程序已经绑定该开放平台,未绑定应用,因为应用详情没有绑定小程序入口) [图片] [图片] [图片]
2023-01-12[图片] 小程序是前后端分离的 url 需要后台绑定的域名 为域名安装下https name属性 可以随便取个名字 跟wxml没有关系,是为后台接受而设置的一个name [图片]
图片上传问题,求哪位小哥哥小姐姐有时间了帮忙看一下我代码存在的问题,谢谢啦。最近一个月都磕在了wx.uploadfile 上传图片上边。问同学同学也都没做过,找资料也一直找不到对症的。实在不知道问题出在哪了。希望哪位小哥哥小姐姐有空的话帮忙给看看,讲一下我到底该怎么改,谢谢啦! wxml代码 <view class='photo'> <view class='photo-up'> <button class="upload-img-btn"type='primary' bindtap="chooseImg" >选择图片</button> </view> <view class="img-v"> <view class="img" wx:for="{{imgs}}" wx:for-item="item" wx:key="*this"> <image class='img-s' src="{{item}}" data-index="{{index}}" mode="aspectFill" bindtap="previewImg"></image> </view> </view> <button class="delete-btn" data-index="{{index}}" type='primary' catchtap="deleteImg">删除图片</button> </view> 这段代码中,一直不是很明白 <view class="img" wx:for="{{imgs}}" wx:for-item="item" wx:key="*this"> 这一句的详细意思。 wxss代码 .photo{justify-content: flex-start;} .upload-img-btn{line-height: 30px;margin-left: 0px;margin-top: 10px} .delete-btn{line-height: 30px;margin-left: 0px;margin-top: 0px} .img-v{display: flex;flex-flow: row ;margin-top: 10px;} .img-s{width:150rpx;height:150rpx;margin-left: 5px} js代码 chooseImg: function (e) { var that = this; var imgs = this.data.imgs; if (imgs.length >= 4) { this.setData({ lenMore: 1 }); setTimeout(function () { that.setData({ lenMore: 0 }); }, 2500); return false; } wx.chooseImage({ // count: 1, // 默认9 sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有 sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有 success: function (res) { // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片 var tempFilePaths = res.tempFilePaths; var imgs = that.data.imgs; // console.log(tempFilePaths + '----'); for (var i = 0; i < tempFilePaths.length; i++) { if (imgs.length >= 4) { that.setData({ imgs: imgs }); return false; } else { imgs.push(tempFilePaths[i]); } } // console.log(imgs); that.setData({ imgs: imgs }); //console.info(res.tempFilePaths.length); // that.uploadFile(tempFilePaths, 0); wx.uploadFile({ url: 'http://localhost:8080/spongecity/upload/picture', filePath: tempFilePaths[0], name: '*this', method: 'POST', header: { "Content-Type": "multipart/form-data" }, formData:{ }, success: function (res) { console.log(res) console.log(imgs[0]) }, fail: function (res) { console.log(res); } }) } }); }, // // 删除图片 deleteImg: function (e) { var imgs = this.data.imgs; var index = e.currentTarget.dataset.index; imgs.splice(index, 1); this.setData({ imgs: imgs }); }, // 预览图片 previewImg: function (e) { //获取当前图片的下标 var index = e.currentTarget.dataset.index; //所有图片 var imgs = this.data.imgs; wx.previewImage({ //当前显示图片 current: imgs[index], //所有图片 urls: imgs }) }, 这段代码是我参考了许多代码后可以说是拼凑起来的,有的地方也不是很明白,比如 name: ' ',里边我应该写什么,我知道他是文件对应的 key , 开发者在服务器端通过这个 key 可以获取到文件二进制内容,但是不明白这具体是什么,和wxml代码里边有没有什么关联。还有formdata{ }里边应该怎么写, 这段代码中的URL因为我没有配置域名,所以勾选的不校验合法域名。 下边是我的后端代码,JAVA语言,myeclipse编译器 package image; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileUploadException; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.*; import java.util.List; /** * Created by yyt on 2016-12-12. */ public class GetImage extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req,resp); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); //设置编码 //获得磁盘文件条目工厂 DiskFileItemFactory factory = new DiskFileItemFactory(); String str = request.getSession().getServletContext().getRealPath(""); //获取文件需要上传到的路径 String path = request.getRealPath("/upload"); String pathStr=null; System.err.println("上传的图片路径:"+path); //如果没以下两行设置的话,上传大的 文件 会占用 很多内存, //设置暂时存放的 存储室 , 这个存储室,可以和 最终存储文件 的目录不同 /** * 原理 它是先存到 暂时存储室,然后在真正写到 对应目录的硬盘上, * 按理来说 当上传一个文件时,其实是上传了两份,第一个是以 .tem 格式的 * 然后再将其真正写到 对应目录的硬盘上 */ factory.setRepository(new File(path)); //设置 缓存的大小,当上传文件的容量超过该缓存时,直接放到 暂时存储室 factory.setSizeThreshold(1024*1024) ; //高水平的API文件上传处理 ServletFileUpload upload = new ServletFileUpload(factory); try { //可以上传多个文件 List<FileItem> list = (List<FileItem>)upload.parseRequest(request); for(FileItem item : list){ //获取表单的属性名字 String name = item.getFieldName(); //如果获取的 表单信息是普通的 文本 信息 if(item.isFormField()){ //获取用户具体输入的字符串 ,名字起得挺好,因为表单提交过来的是 字符串类型的 String value = item.getString() ; request.setAttribute(name, value); }else { /** * 以下三步,主要获取 上传文件的名字 */ //获取路径名 String value = item.getName() ; //索引到最后一个反斜杠 int start = value.lastIndexOf(""); //截取 上传文件的 字符串名字,加1是 去掉反斜杠, String filename = value.substring(start+1); request.setAttribute(name, filename); //真正写到磁盘上 //它抛出的异常 用exception 捕捉 //item.write( new File(path,filename) );//第三方提供的 //手动写的 str+="/upload/"+filename; pathStr="/upload/"+filename; System.err.println("文件存储的路径:"+str); File file=new File(str); OutputStream out = new FileOutputStream(file); InputStream in = item.getInputStream() ; int length = 0 ; byte [] buf = new byte[1024] ; System.out.println("获取上传文件的总共的容量:"+item.getSize()); // in.read(buf) 每次读到的数据存放在 buf 数组中 while( (length = in.read(buf) ) != -1){ //在 buf 数组中 取出数据 写到 (输出流)磁盘上 out.write(buf, 0, length); } in.close(); out.close(); } } } catch (FileUploadException e) { e.printStackTrace(); } catch (Exception e) { } PrintWriter printWriter=response.getWriter(); // printWriter.print("{"path":""+pathStr+""}"); printWriter.print(pathStr); printWriter.flush(); printWriter.close(); } } 下边是web.xml的代码 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>spongecity</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>GetImage</servlet-name> <servlet-class>image.GetImage</servlet-class> </servlet> <servlet-mapping> <servlet-name>GetImage</servlet-name> <url-pattern>/GetImage</url-pattern> </servlet-mapping> 这是开发者工具这边返回的截图: [图片] 里边的data“ ” 始终是空的。后台也一直没法获取图片。调试期间还遇到过code:500.,404, 405 等等错误。 这是我图片提交这边的所有代码了,我实在不知道该怎么解决了,希望哪位小哥哥,小姐姐帮忙给看一下,讲一下我该怎么改。不胜感激!!
2018-09-10请问41033有解决办法了吗
开放平台获取账号已经设置的所有类目返回41033小程序基本信息设置内的获取账号类目接口一直返回41033.curl https://api.weixin.qq.com/cgi-bin/wxopen/getcategory?access_token=xxxxxxx返回值一直是 {"errcode":41033,"errmsg":" hint: [xxx]"} [图片] 尝试过 8.1 获取账号可以设置的所有类目 这个是可以正常返回的。
2018-09-10是不是要全网发布才行
错误代码 41033第三方平台 设置类目显示 41033 请问哪里错了 [图片]
2018-09-101:后台有配置上传文件的域名了吗 2:给域名部署下https
微信小程序图片上传 一直不能上传成功 请大佬解释一下啊我用js的formData模拟是可以POST提交的 但是用wx.uoloadfile就没办法提交了 也不报错 [图片] [图片]
2018-08-23就是调用微信统一下单时 没有传入金额
各位大神调用支付JSAPI缺少参数: total_fee,如图,怎么解决?[图片] errMsg:"requestPayment:fail" err_code:"-1" err_desc:"调用支付JSAPI缺少参数: total_fee"
2018-08-23那就是前者bug了 webview除了访问同主体公众号的H5 其他域名不是都要txt文件校验吗
IOS下无法在webview打开嵌入腾讯视频的页面在安卓手机里可以打开webview里嵌入了腾讯视频的H5页面,但是在苹果手机上打开就会提示不支持业务域名,请问这是为什么呢?
2018-08-23把三个数组合并在一起 然后再赋值urls
帮忙看看,为什么实现不了多张图片//.js Page({ /** * 页面的初始数据 */ data: { currentTab: 0, imgalist0: [ 'https://lg-1c7jwm16-1257218715.cos.ap-shanghai.myqcloud.com/309586315285779976.jpg', 'https://lg-1c7jwm16-1257218715.cos.ap-shanghai.myqcloud.com/e6b5f06c7655fd7fa9699987c4578641_u%3D1837457002%2C1490875854%26fm%3D27%26gp%3D0.jpg' ], imgalist1: ['https://lg-1c7jwm16-1257218715.cos.ap-shanghai.myqcloud.com/e6b5f06c7655fd7fa9699987c4578641_u%3D1837457002%2C1490875854%26fm%3D27%26gp%3D0.jpg', 'https://lg-1c7jwm16-1257218715.cos.ap-shanghai.myqcloud.com/309586315285779976.jpg' ], imgalist2: ['https://lg-1c7jwm16-1257218715.cos.ap-shanghai.myqcloud.com/309586315285779976.jpg', 'https://lg-1c7jwm16-1257218715.cos.ap-shanghai.myqcloud.com/309586315285779976.jpg' ] }, /** * 预览图片 */ previewImage: function (e) { var current = e.target.dataset.src; wx.previewImage({ current: current, // 当前显示图片的http链接 urls: this.data.imgalist0, urls: this.data.imgalist1, urls: this.data.imgalist2,// 需要预览的图片http链接列表 }) } }) <!--pages/index/index/tb/tb.wxml--> <view class="swiper-tab"> <view class="swiper-tab-item {{currentTab==0?'active':''}}" data-current="0" bindtap="clickTab">第一个</view> <view class="swiper-tab-item {{currentTab==1?'active':''}}" data-current="1" bindtap="clickTab">第二个</view> <view class="swiper-tab-item {{currentTab==2?'active':''}}" data-current="2" bindtap="clickTab">第三个</view> </view> <view> <swiper current="{{currentTab}}" duration="300" bindchange="swiperTab"> <swiper-item> <view wx:for="{{imgalist0}}" wx:key="key" wx:for-item="image" class="previewimg"> <image src="{{image}}" data-src="{{image}}" bindtap="previewImage"></image> </view> </swiper-item> <swiper-item> <view wx:for="{{imgalist1}}" wx:key="key" wx:for-item="image" class="previewimg"> <image src="{{image}}" data-src="{{image}}" bindtap="previewImage"></image> </view> </swiper-item> <swiper-item> <view wx:for="{{imgalist2}}" wx:key="key" wx:for-item="image" class="previewimg"> <image src="{{image}}" data-src="{{image}}" bindtap="previewImage"></image> </view> </swiper-item> </swiper> </view> 商品可以实现分类啦,在每个分类下放两张图片以上,却只能显示一张图片的内容,这是为什么,编辑器也没有显示代码有出现错误,但是就是显示不了,我想要的效果,求大家帮忙看看,这是为什么?
2018-08-23wx.getUserInfo(OBJECT)注意:此接口有调整,使用该接口将不再出现授权弹窗(这里估计是说一次授权的时候),请使用 <button open-type="getUserInfo"></button> 引导用户主动进行授权操作 当用户未授权过,调用该接口将直接报错 当用户授权过,可以使用该接口获取用户信息 应该不会废弃getUserInfo,只是调整用户第一次授权的机制
openSetting getUserInfo 要不要废弃,腾讯你出来说个清楚如题,要废弃,又不废弃,线下废弃,线上又不废弃,已上线的不废弃,新更新的废弃。你倒是给废弃啊,现在弄得成了你家的能用不是你家的就不能用,大公司能用,小公司就不能用了,告诉我一个解释
2018-08-15