微信浏览器js sdk上传照片在IOS端上传的照片在服务端获取的后缀名不正确

微信浏览器上传文件用原生input type=file multiple 在android手机中无法选择多张照片所以使用微信js sdk来上传照片

 function chooleImg(){
        //拍照或从手机相册中选图接口
        wx.chooseImage({
            count: 9, // 默认9
            sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
            sourceType: ['album'],//['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
            defaultCameraMode: "batch", //表示进入拍照界面的默认模式,目前有normal与batch两种选择,normal表示普通单拍模式,batch表示连拍模式,不传该参数则为normal模式。(注:用户进入拍照界面仍然可自由切换两种模式)
            success: function (res) {
                var localIds = res.localIds; // 返回选定照片的本地ID列表,
                // andriod中localId可以作为img标签的src属性显示图片;
                // 而在IOS中需通过上面的接口getLocalImgData获取图片base64数据,从而用于img标签的显示

                for(var i=0;i<res.localIds.length;i++){
                    //获取本地图片接口
                    wx.getLocalImgData({
                        localId: res.localIds[i], // 图片的localID
                        success: function (res) {
                            var localData = res.localData; // localData是图片的base64数据,可以用img标签显示
                            var _domObj = $(_html);
                            if(IsIOS()){
                                $(_domObj).find("img").attr("src", res.localData);
                            }else{
                                $(_domObj).find("img").attr("src", 'data:image/jpeg;base64,'+res.localData);
                            }

                            $("#pic-view-container").append(_domObj);
                        }
                    });
                }

            },
            fail:function(resp){
                console.log(resp)
            }
        });
    }

因为android和ios返回的base64码有点不同所以加了个头,这样能在页面直接预览了,然后再把base64转blob传到后台

 $(ls).each(function(i,e){
                var base64 = $(e).attr("src");
                var blob = dataURLtoBlob(base64);
                formData.append("files", blob);
            })

在后台获取后缀名的时候android设备是正常的而IOS设备获取的后缀名变成**_ .jgp ** 我没有写错不是 **.jpg_**

var file = Request.Files[i];
_int _index = file.FileName.LastIndexOf('.');
var extend = _index >= 0 ? file.FileName.Substring(_index) : "";
var imgName = Guid.NewGuid() + "." + extend;_

这是上传的结果截图,左边是文件,右边是数据库

图片说明

有没有哪位大佬知道这是上面原因,想不出来到底是哪里问题,求助!!!

0

1个回答

微信js上传图片,返回localIds直接替换src苹果安卓都没问题啊

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
ios上传照片、拍照上传demo
ios上传照片、拍照上传demo,代码非常简洁明了。 ios上传照片、拍照上传demo,代码非常简洁明了。
如何在浏览器端获取上传的文件大小?
我是在服务器端取得的,所以要等到文件传输完才能判断,怎么在浏览器端判断呀?
PC端微信浏览器js点击事件失效
**电脑端微信浏览器js点击事件失效** 前段时间发现开发的一个微信公众号上一个按钮的点击事件在手机上是正常的,电脑端手机微信里却不起作用。在网上找了好久都没有找到解决办法。 后来查看其它的页面的同样的点击事件是正常的,对比两个差别发现可以用的点击事件的函数没有默认值,不能用的点击事件函数有默认值...
JS获取上传文件后缀名
js 文件名截取(后缀名、全名、不带后缀名) &amp;lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot;&amp;gt; //取整个文件的路径并且把文件名赋给文件名 var isTrue = true; function GetName(obj) { CheckType...
ios接入微信sdk
应公司项目要求,这段时间接手开始接入微信sdk,由于还未获取到微信的支付权限,所以这
iOS微信 sdk下载
微信 sdk下载 iOS
IOS 64位 微信SDK
IOS支持 64位 微信SDK 另附:微信iOS终端SDK的使用教程,只涉及教授SDK的使用方法
ios 接入微信sdk
微信sdk接入,安装微信后检测安装失败,需要增加info设置,如图所示:
ios微信sdk集成
目前只有微信登录部分的集成,后续会添加为微信支付和分享
JS 判断PC、android、ios、微信浏览器
1.通过js userAgent来判断判断访问此链接的操作系统&amp;lt;script&amp;gt; var Agents = new Array(&quot;Android&quot;, &quot;iPhone&quot;, &quot;SymbianOS&quot;, &quot;Windows Phone&quot;, &quot;iPad&quot;, &quot;iPod&quot;); var flag = true; /** * 初始化加载程序
js设置ios中微信浏览器的title
说到web前端,浏览器差异是不可回避的问题,这次在项目就遇到下面的问题: 微信导航栏的内容是直接拿的项目中title来设置的。但是现在做的项目是一个单页应用,整个页面只会在第一次完全刷新,后面只会局部刷新,所以只能在页面刷新的时候通过js动态修改title。开始我们使用的做法如下:      document.title = "微信导航栏想要显示的内容"; $("title").text("
改进:js修改iOS微信浏览器的title
问题简介前端入门没多久,可能连入门也不算,最近网上流行各自书籍改名,什么《前端开发,从入门到放弃》,《Android开发,从入门到改行》之类的,程序员真是个爱自嘲的群体,但我们一定是积极而向上的。说到web前端,浏览器差异是不可回避的问题,这次的问题(知乎上的讨论)如下: 单页应用里整个页面只会在第一次完全刷新,后面只会局部刷新(一般不包括head及里面的title),所以无法在服务器端控制ti
IOS端车牌识别sdk开发包
最新IOS端车牌识别,操作系统:支持Ios 7.0 硬件配置:推荐ARM Cortex-A7以上,1G RAM 摄像头:支持自动对焦,200万像素以上 安装程序占用空间,2MBytes
js判断pc端移动端,js判断ios和Android,js判断微信浏览器
js判断pc端移动端,js判断ios和Android,js判断微信浏览器 js判断pc端移动端,js判断ios和Android var ua = navigator.userAgent; var ipad = ua.match(/(iPad).*OS\s([\d_]+)/), isIphone = !ipad &amp;amp;&amp;amp; ua.match(/(iPhone\sOS)\s([\...
ios/微信 浏览器背景音乐
# ios: 需要点击一下屏幕, 才会播放音乐; android: 自动播放. &amp;lt;audio id=&quot;audio&quot; loop src=&quot;/addons/nxtt_nongchang/public/product/StormstoutBrew.mp3&quot; autoplay preload&amp;gt;&amp;lt;/audio&amp;gt; &amp;lt;script src=&quot;/jquery-1.11.1.min...
微信使用的JS SDK
微信使用的JS SDK,使用JS SDK可以在微信网页中调用摄像头等。
iOS与微信端播放音乐问题
iOS不支持auido标签自动播放autoplay属性,我们需要所以我们需要在js中给audio标签‘手 动’播放: &amp;lt;audio src='xxx.mp3' autoPlay loop preload=&quot;auto&quot; muted id=&quot;audio&quot;&amp;gt;&amp;lt;audio&amp;gt; //原生js document.getElementById('audio').play(); do...
微信sdk invalid signature
微信sdk invalid signature 转自:https://segmentfault.com/q/1010000002502269/a-1020000002549180 最近刚使用了微信的 JS SDK,对这块的注意事情大概说下,希望能帮到大家: signature 的值是用多个参数 sha1 加密的结果,详细流程即: 1, 通过 appid + appsecer
微信 js - sdk 使用
使用js-sdk的步骤: 一、 引入js-sdk 二、 通过config接口注入配置信息, 三、 通过ready接口处理成功的验证。config配置信息验证后会执行ready方法。Config是异步操作,所以在页面加载时就要调用接口的话必须把接口调用放在ready函数中。 四、 所有接口通过wx对象(也可使用jWeixin对象)来调用,参数是一个对象, 五、 “分享到朋友圈”:w
ios端QQ内置浏览器
ios的手机QQ内置浏览器可以调试麽
微信 js sdk 签名
调用微信开放平台需要签名、access_token、ticket等信息,写了一个例子,供参考
js获取上传文件的后缀名和大小
利用H5的新特性我们可以十分方便的获取上传文件的后缀名和大小,对于上传文件的校验十分方便,下面是具体的实现代码:&amp;lt;!doctype html&amp;gt; &amp;lt;html lang=&amp;quot;en&amp;quot;&amp;gt; &amp;lt;head&amp;gt; &amp;lt;meta charset=&amp;quot;UTF-8&amp;quot; /&amp;gt; &amp;lt;meta name=&amp;quot;viewpor
微信浏览器获取微信用户
使用微信浏览器,可以通过“网页授权获取用户基本信息”方式得到是那个微信用户,但是这个设计的真心觉得扯淡,本身手机的信号不稳定,计算能力也不是很好,还弄这么多的跳转,如果用3G网络等起来真心虐,请问有没有办法获取到用户的基本信息呢,或者openId,除正常的调用一下方式rnrnhttp://mp.weixin.qq.com/wiki/4/9ac2e7b1f1d22e9e57260f6553822520.htmlrnrnrn本人已经使用了iframe加载,和ajax加载+script加载的方式,最终未果,求大神帮忙解决。
js判断IE浏览器版本、判断安卓、iOS、判断微信浏览器、判断PC端浏览器等
判断浏览器版本、平台
微信小程序上传照片
这两天在做小程序练习,遇到的问题记录如下: 1、照片上传:后台语言java 小程序端代码 页面 &lt;!--index.wxml--&gt; &lt;form bindsubmit='submit'&gt; &lt;view class="weui-cells__title"&gt;人员信息&lt;/view&gt; &lt;view class="weui-cells we...
iOS 音频时长获取不正确
iOS 使用lame库将音频转化MP3会发现通过player获取时长与原文件时长不符,本文主要解决该问题
服务端可否通过js取得客服端浏览器的窗口大小和位置?
服务端可否通过js取得客服端浏览器的窗口大小和位置?rnrn谢谢.
微信jssdk之微信浏览器上传图片
为了在公众号页面中上传图片,需要配置微信jssdk。各项配置操作流程,请参照微信官网:https://mp.weixin.qq.com/wiki?t=resource/res_main&amp;amp;id=mp1421141115;为了提高代码复用性,封装了一下上传图片类:&amp;lt;?phpclass WxUploadImg{    //1.获取access_token,7000秒内,读取文件存档,否则重...
从后台调取照片在前端显示
将后台的照片显示出来,方法: 例子采用照片直接显示,设置显示的尺寸 代码实现 public void showPhoto(HttpServletRequest request,HttpServletResponse response) { try { String fileName = request.getParameter("url");//图片名字 String pat
怎样让照片在窗口范围内移动
我在C#2005中做了个窗口,窗口里有pictureBox控件显示照片,现在已经设计成用鼠标拖动照片在窗口里移动,但是照片能够移动到窗口外面,怎样进行限制,不让照片移出窗口工作区的范围?
mono for ios版微信sdk
mono for iOS版的微信sdk。 该包为微信sdk的binding工程,包括最后生成的.dll文件以及原声oc语言的微信sdk。
添加微信SDK IOS启动报错
添加微信SDK后 IOS启动报错: 解决方案: 添加 libsqlite3.dylib 添加步骤: 1.如上图 在targets =&amp;gt; Build Phases =&amp;gt;Link Binary With Libraries下点击加号 2.选择Add Other 3.CMD + SHIFT + G 然后输入 /user/lib 点击GO 4.找到 libsqlite3.dylib 并...
ios 微信wechat sdk demo
ld: -pie can only be used when targeting iOS 4.2 or later clang: error: linker command failed with exit code 1 (use -v to see invocation) 解决方法: 把target设置高一点project->target->general->Deployment info-->Deployment Target 解决办法转自:http://blog.csdn.net/jasontech/article/details/44653931
iOS导入微信SDK报错
Xcode Version 6.2 (6C131e)rn导入方式,手动在工程同级目录下新建一个文件,拷贝libWeChatSDK.a,WxApi.h,WxApiObject.h三个文件到此目录下,再使用添加文件到工程。编译的时候报如下错误:rnUndefined symbols for architecture arm64:rn "operator new[](unsigned long)", referenced from:rn +[WeChatApiUtil EncodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o)rn +[WeChatApiUtil NsDataEncodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o)rn +[WeChatApiUtil DecodeWithBase64:] in libWeChatSDK.a(WeChatApiUtil.o)rn +[WeChatApiUtil DecodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o)rn "operator delete[](void*)", referenced from:rn +[WeChatApiUtil EncodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o)rn +[WeChatApiUtil NsDataEncodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o)rn +[WeChatApiUtil DecodeWithBase64:] in libWeChatSDK.a(WeChatApiUtil.o)rn +[WeChatApiUtil DecodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o)rnld: symbol(s) not found for architecture arm64rnclang: error: linker command failed with exit code 1 (use -v to see invocation)rn在网上找过不少同样错误的问题解释,都没能解决,有个简单的方式是把我的代码拷贝到Wx的示例代码中去解决,但这样还是没有真正的找到原因,因此想问一下有没有人解决过这类问题。
获取浏览器端操作系统名称
public static string GetOSName()         {             string osVersion = System.Web.HttpContext.Current.Request.Browser.Platform;             string userAgent = System.Web.HttpContext.Current.Requ
在浏览器端获取后端返回结果
浏览器端获取数据库返回结果 在后端实际开发过程中,有时需要查看后端返回的数据集结果,可以通过以下步骤进行查看: 截图为正常情况下的数据访问请求,点击,形成如下图所示请求: 然后,在新开启的页面地址栏中将General中的Request URL以及红色方框选中内容拷贝进去,回车即可得到对应结果。 以上内容为简单方式获取后端数据,请笑纳。 ...
浏览器端和服务端都可以使用的验证器
最近基于自己的使用习惯和经验,写了个验证器。可以在浏览器端和 Node 环境下使用。 但这种验证器已经有非常多轮子了。。。没有特色是不行的。。。 这个验证器的特色: 1.内置规则以及可扩展规则 2.可以使用逻辑操作符 3.支持一组检验规则,哪里错误就提示那里 4.小巧并且可扩展,可以用多种形式封装。 5.单元测试 100% 覆盖绿 我自己...
Unity接入微信SDK——iOS(接入微信SDK)
Unity接入微信SDK——iOS(接入微信SDK)
iOS下微信浏览器click事件失效
在做项目中遇到落地页在ios环境下 微信浏览器中点击事件失效 &lt;div class="btn" &gt; &lt;img src="images/btn.png" /&gt; &lt;div&gt; &lt;script&gt; $(".btn").on("click", function () { // click事件 .... }) &lt;/scrip...
IOS微信浏览器兼容问题汇总
1、IphoneX底部横线遮挡导航的问题 判断设备是否是IphoneX,如果是,则增加底部导航20px function isIPhoneX(fn) { var u = navigator.userAgent; var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端 if (isIOS) { ...

相似问题

1
求实现微信浏览器通过JS实现一键复制文本的功能的组件。。。
0
求助高手!!微信自定义分享安卓没问题。ios下分享的封面图片,url不是自定义的
0
网页中微信号复制后如何打开微信,并且在微信中用微信浏览器打开新页面
7
微信上传录音播放问题
3
非微信浏览器支付,调用成功。 怎么确认用户支付成功,微信官方没有微信外部 浏览器 调用接口。
6
为什么iOS H5 APP 调用微信H5支付后不返回到App而是打开了safari浏览器?
9
在APP内分享资讯到微信里,用微信浏览器打开为什么图片一直加载不出来。
5
iOS 微信网页支付完后怎么跳回自己的APP?
3
手机端微信浏览器访问,无等待跳转怎么实现
6
ios 微信分享内容,与app名字不一样,求解
1
ios系统微信多开检测提示“非官方客户端”,怎么绕过微信检测
3
微信jssdk分享朋友圈和朋友统计次数ios分享朋友圈微信回调函数不进入android没问题
7
【微信H5】在IOS下,微信H5的底部栏问题
2
JAVA 微信外部浏览器H5支付
6
IOS微信内置浏览器返回键多部跳转
2
IOS微信浏览器,返回捕捉不到pageshow
2
微信扫码下载安装iOS和Android js代码问题
1
微信浏览器中的网页 登录时 记住账户的账号密码
1
一个商品条码,我用微信js-sdk调用扫一扫后不能得到条码信息?
1
页面在PC端的微信内置浏览器打不开,是为什么?