最近弄微信公众号对接,需要调用微信接口,多图上传
<div style="display: flex; align-items: center;" class="weui-cell">
<input type="hidden" id="tempID" />
<input type="hidden" id="img_url" />
<label>附件:</label>
<button onclick="upImgs()" id="chooseImg">请上传附件</button>
<div class="form-group is_la_pramol">
<input type="hidden" runat="server" id="payCertificate11" />
<input type="hidden" runat="server" id="payCertificate22" />
<input type="hidden" runat="server" id="payCertificate33" />
<input type="hidden" runat="server" id="payCertificate44" />
<input type="hidden" runat="server" id="payCertificate55" />
<input type="hidden" runat="server" id="payCertificate66" />
<input type="hidden" runat="server" id="payCertificate77" />
<input type="hidden" runat="server" id="payCertificate88" />
<input type="hidden" runat="server" id="payCertificate99" />
<div id="pzImgNew_store">查看</div>
<img src="/images/photo.png" id="cImg11" runat="server" onclick="showImg('cImg11','payCertificate11','pzImgs11','popup02')" width="61" height="35" />
<img src="/images/photo.png" id="cImg22" runat="server" onclick="showImg('cImg22','payCertificate22','pzImgs22','popup02')" width="61" height="35" />
<img src="/images/photo.png" id="cImg33" runat="server" onclick="showImg('cImg33','payCertificate33','pzImgs33','popup02')" width="61" height="35" />
<img src="/images/photo.png" id="cImg44" runat="server" onclick="showImg('cImg44','payCertificate44','pzImgs44','popup02')" width="61" height="35" />
<img src="/images/photo.png" id="cImg55" runat="server" onclick="showImg('cImg55','payCertificate55','pzImgs55','popup02')" width="61" height="35" />
<img src="/images/photo.png" id="cImg66" runat="server" onclick="showImg('cImg66','payCertificate66','pzImgs66','popup02')" width="61" height="35" />
<img src="/images/photo.png" id="cImg77" runat="server" onclick="showImg('cImg77','payCertificate77','pzImgs77','popup02')" width="61" height="35" />
<img src="/images/photo.png" id="cImg88" runat="server" onclick="showImg('cImg88','payCertificate88','pzImgs88','popup02')" width="61" height="35" />
<img src="/images/photo.png" id="cImg99" runat="server" onclick="showImg('cImg99','payCertificate99','pzImgs99','popup02')" width="61" height="35" />
</div>
var appID = '<%=appID%>';
var signature = '<%=signature%>';
//微信配置
wx.config({
debug: false,//true,表示调试,如果有错误会弹框提示你的
appId: appID,
timestamp: 5425969902,
nonceStr: 'eyot19lpw86xvffg7ij3kwq2wfr7xo9',
signature: signature,
jsApiList: [
'chooseImage', 'uploadImage'//调用的方法
]
});
function upImgs() {
wx.chooseImage({
count: 9, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: function (res) {
var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
imgCount = localIds.length;
for (var i = 0; i < localIds.length; i++) {
//alert(localIds.length);
var n = i + 1;
$("#tempID" + n.toString() + n.toString()).val(localIds[i]);
switch (n) {
//以下赋值 是为了展示上传的时候的图片
case 1:
$("#pzImgs11").attr("src", localIds[i]);
$("#cImg11").attr("src", localIds[i]);
break;
case 2:
$("#pzImgs22").attr("src", localIds[i]);
$("#cImg22").attr("src", localIds[i]);
break;
case 3:
$("#pzImgs33").attr("src", localIds[i]);
$("#cImg33").attr("src", localIds[i]);
break;
case 4:
$("#pzImgs44").attr("src", localIds[i]);
$("#cImg44").attr("src", localIds[i]);
break;
case 5:
$("#pzImgs55").attr("src", localIds[i]);
$("#cImg55").attr("src", localIds[i]);
break;
case 6:
$("#pzImgs66").attr("src", localIds[i]);
$("#cImg66").attr("src", localIds[i]);
break;
case 7:
$("#pzImgs77").attr("src", localIds[i]);
$("#cImg77").attr("src", localIds[i]);
break;
case 8:
$("#pzImgs88").attr("src", localIds[i]);
$("#cImg88").attr("src", localIds[i]);
break;
case 9:
$("#pzImgs99").attr("src", localIds[i]);
$("#cImg99").attr("src", localIds[i]);
break;
default:
}
updata3(localIds[i], n);
}
}
});
}
function updata3(id, n) {
wx.uploadImage({
localId: id, // 需要上传的图片的本地ID,由chooseImage接口获得
isShowProgressTips: 1, // 默认为1,显示进度提示
success: function (res) {
var serverId = res.serverId; // 返回图片的服务器端ID
SavePaymentVoucher(serverId, function (data) { //此方法是去服务器下载图片
switch (n) {
case 1:
$("#payCertificate11").val(data);
$("#cImg11").attr("src", data);
break;
case 2:
$("#payCertificate22").val(data);
$("#cImg22").attr("src", data);
break;
case 3:
$("#payCertificate33").val(data);
$("#cImg33").attr("src", data);
break;
case 4:
$("#payCertificate44").val(data);
$("#cImg44").attr("src", data);
break;
case 5:
$("#payCertificate55").val(data);
$("#cImg55").attr("src", data);
break;
case 6:
$("#payCertificate66").val(data);
$("#cImg66").attr("src", data);
break;
case 7:
$("#payCertificate77").val(data);
$("#cImg77").attr("src", data);
break;
case 8:
$("#payCertificate88").val(data);
$("#cImg88").attr("src", data);
break;
case 9:
$("#payCertificate99").val(data);
$("#cImg99").attr("src", data);
break;
default:
}
});
}
});
}
function SavePaymentVoucher(PaymentVoucher, Callback) {
$.ajax({
type: "POST",
url: "/ajaxapi-SERP3.0.ziweiyaNew/Order/SavePaymentVoucher_new",
timeout: 30000,
dataType: "text",
data: {
"mediaId": PaymentVoucher
},
success: function (data) {
Callback(data);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("提交超时");
}
});
}
后台代码:去微信服务器下载图片
/// <summary>
/// 保存图片到服务器
/// </summary>
/// <param name="mediaId"></param>
/// <returns></returns>
public string SavePaymentVoucher_new(string mediaId)
{
var manuId = Lib.ReadCookie("ManuID");
var path = cust_payment_payCertificate(mediaId, manuId);
return path;
}
public static string cust_payment_payCertificate(string mediaId, string manuId)
{
string res = string.Empty;
string tempManuID = System.Configuration.ConfigurationManager.AppSettings["publicWXScanManuID"];
string ApiUrl = System.Configuration.ConfigurationManager.AppSettings["ServerUploadImgUrl"];
try
{
//微信服务器下载凭证payEvidence
string accesstoken = WXAPI.GetAccessToken("10232");
res = WebClientHelper.getRequest(ApiUrl + "/SalesUploadEvidence.aspx?accessToken=" + accesstoken + "&mediaId=" + mediaId + "&manuId=" + manuId, Encoding.UTF8);
//File.AppendAllText("E:\\Web_lcc\\log.txt", "\n res=" + res); //这种方法是调试用的,把想要的信息写入文本
//保存数据
Log4Helper.ErrorInfo("MoblieLogger", "申请附件保存路径:" + res);
}
catch (Exception ex)
{
res = ex.Message;
Log4Helper.ErrorInfo("MoblieLogger", "保存图片失败", ex);
}
return res;
}