微信pc端和手机上传处理
一.原因
在微信通过电脑版和浏览器登录时,调用了微信上传的接口,wx.getLocalImgData或返回失败。
没办法,只有处理当电脑上传时,使用ajaxuploadfile上传。
二.方法
function upload_weixin_pic(e) {
e=e||{};
e={
id:e.id||'get_pic_url',
hight:e.hight||0,
width:e.width||0,
chooseImage:function () {
wx.chooseImage({
count: 1,
sizeType: ['original', 'compressed'], // original 原图,compressed 压缩图,默认二者都有
sourceType: ['album', 'camera'], // album 从相册选图,camera 使用相机,默认二者都有
success: function (res) {
e.getLocalImgData(res);
}, fail: function () {
//layer.alert("选择图片失败", {icon: 2, time: 3000, title: "失败"});
openTheFile(e);
}, cancel: function (res) {
}
})
}, getLocalImgData:function (res) {
layer.msg('上传中', {icon: 16, shade: 0.3, time: 99990000});
wx.getLocalImgData({
localId: res.localIds[0], // 图片的localID
success: function (res) {
e.getBase64(res);
}, fail: function (v) {
layer.closeAll();
/*if(v.errMsg.indexOf('getLocalImgData')>-1){
openTheFile(e);
}else{
console.info(e);
layer.alert("下载图片失败", {icon: 2, time: 3000, title: "失败"});
}*/
openTheFile(e);
}, complete: function (res) {
}
});
}, getBase64:function (res) {
$.post("/Public/weixin_base64", {base64: res.localData,hight:e.hight,width:e.width}, function (path) {
layer.closeAll();
e.success(path);
})
}, success:e.success|| function (path) {
//path
}
}
if(isMobile()){
e.chooseImage();
}else{
openTheFile(e);
}
}
var previewImages_e={};
function openTheFile(e) {
if($("#"+e.id).length == 0){
var input=$('<input type="file" style="display: none" name="'+e.id+'" id="'+e.id+'" >');
input.attr("onchange",'previewImages()');
$("body").append(input);
}
previewImages_e=e;
$("#"+e.id).click();
}
function previewImages() {
var e=previewImages_e||{};
var lay = layer.msg('上传中', {icon: 16, shade: 0.3, time: 99990000});
$.ajaxFileUpload({
url: "/Public/UploadPic",
secureuri: false,
fileElementId: e.id,
type: "post",
data:{
hight:e.hight,
width:e.width
},
dataType: "json",
async: false,
success: function (data, status) {
layer.close(lay)
if (data.code == 0) {
e.success(data.url)
} else {
layer.alert(data.msg, {icon: 2})
}
},
error: function (data, status, e) {
layer.close(lay);
console.info(e)
layer.alert("上传图片异常,请选择新的图片!")
}
})
}
三.调用方法
这个方法我使用了layui、ajaxfileupload插件
调用时
可以直接调用方法名
upload_weixin_pic()
//也可以
upload_weixin_pic({
success:function (path) {
//path
}
})
微信pc端和手机上传处理的更多相关文章
- 解决ios手机上传竖拍照片旋转90度问题
html5+canvas进行移动端手机照片上传时,发现ios手机上传竖拍照片会逆时针旋转90度,横拍照片无此问题:Android手机没这个问题. 因此解决这个问题的思路是:获取到照片拍摄的方向角,对非 ...
- 利用exif.js解决ios手机上传竖拍照片旋转90度问题
html5+canvas进行移动端手机照片上传时,发现ios手机上传竖拍照片会逆时针旋转90度,横拍照片无此问题:Android手机没这个问题. 因此解决这个问题的思路是:获取到照片拍摄的方向角,对非 ...
- 利用exif.js解决手机上传竖拍照片旋转90\180\270度问题
原文:https://blog.csdn.net/linlzk/article/details/48652635/ html5+canvas进行移动端手机照片上传时,发现ios手机上传竖拍照片会逆时针 ...
- 利用exif.js解决ios或Android手机上传竖拍照片旋转90度问题
html5+canvas进行移动端手机照片上传时,发现ios手机上传竖拍照片会逆时针旋转90度,横拍照片无此问题:Android手机没这个问题. 因此解决这个问题的思路是:获取到照片拍摄的方向角,对非 ...
- Android 本地tomcat服务器接收处理手机上传的数据之案例演示
上一篇:Android 本地tomcat服务器接收处理手机上传的数据之环境搭建 本篇基于上一篇搭建的服务器端环境,具体介绍Android真机上传数据到tomcat服务器的交互过程 场景:A ...
- Android端通过HttpURLConnection上传文件到服务器
Android端通过HttpURLConnection上传文件到服务器 一:实现原理 最近在做Android客户端的应用开发,涉及到要把图片上传到后台服务器中,自己选择了做Spring3 MVC HT ...
- 纯原生js移动端图片压缩上传插件
前段时间,同事又来咨询一个问题了,说手机端动不动拍照就好几M高清大图,上传服务器太慢,问问我有没有可以压缩图片并上传的js插件,当然手头上没有,别慌,我去网上搜一搜. 结果呢,呵呵...诶~又全是基于 ...
- web端、android端的文件上传
1.web端的文件上传. 这里是利用了第三方的jar包.这里所需要的jar包我已经上传到本博客的资源里了,以下是连接 http://download.csdn.net/detail/caihongsh ...
- Android端通过HttpURLConnection上传文件到server
Android端通过HttpURLConnection上传文件到server 一:实现原理 近期在做Androidclient的应用开发,涉及到要把图片上传到后台server中.自己选择了做Sprin ...
随机推荐
- ansible start canal
- name: Start canal server shell: source /etc/profile && nohup /opt/canal/bin/startup.sh
- 20191107-3 beta week 2/2 Scrum立会报告+燃尽图 02
此作业要求参见[https://edu.cnblogs.com/campus/nenu/2019fall/homework/9955] 一.小组情况 队名:扛把子 组长:孙晓宇 组员:宋晓丽 梁梦瑶 ...
- mysql安装与sqlyog安装
首先是mysql安装,参考下面两个链接 https://www.cnblogs.com/gengyufei/p/11735358.html#_label4 https://www.jb51.net/a ...
- 2019-11-27:kali 2019-4中文乱码解决方法
1.更换阿里源 vim /etc/apt/soul,编辑源之后,apt-get updata && apt-get upgrade && apt-get clean , ...
- 【2018寒假集训 Day2】【动态规划】又上锁妖塔
又上锁妖塔 (tower.in/tower.out) [题目描述] 小D在X星买完了想要的东西,在飞往下一个目的地的途中,正无聊的他转头看了看身边的小A,发现小A正在玩<仙剑>,可是小A很 ...
- jquery操作css样式的方法
jquery操作css样式的方法(设置和获取)
- 5. 彤哥说netty系列之Java NIO核心组件之Channel
你好,我是彤哥,本篇是netty系列的第五篇. 简介 上一章我们一起学习了如何使用Java原生NIO实现群聊系统,这章我们一起来看看Java NIO的核心组件之一--Channel. 思维转变 首先, ...
- php踩过的那些坑(5)浮点数计算
一.前方有坑 php在使用加减乘除等运算符计算浮点数的时候,经常会出现意想不到的结果,特别是关于财务数据方面的计算,给不少工程师惹了很多的麻烦.比如今天工作终于到的一个案例: $a = 2586; $ ...
- Spring 核心技术与产品理念剖析(上)
IT 技术发展太快了,就像浪潮一样一波接着一波,朝你迎面扑来,稍不留神就会被巨浪卷至海底而不得翻身.我们必须要学会抓住那些不变的本质或规律,只有这样才能屹立潮头而不倒,乘风破浪,做这个巨变时代的弄潮儿 ...
- css优先级 中文版MDN补充翻译
原文地址:https://developer.mozilla.org/zh-CN/docs/Web/CSS/Specificity css的MDN中文版,这一页是讲css的优先级的. 读到文章的最后, ...