国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

JS開發(fā)微信公眾號上傳圖片到本地服務(wù)器

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 19:59:46
文檔

JS開發(fā)微信公眾號上傳圖片到本地服務(wù)器

JS開發(fā)微信公眾號上傳圖片到本地服務(wù)器:微信公眾號開發(fā)中一般會涉及到在手機公眾號程序中選擇本地圖片或者拍照,將圖片上傳到本地后臺服務(wù)器的功能,網(wǎng)上的做法一般是調(diào)用微信官方提供的chooseImage方法,再判斷是android還是ios并且是否使用WKWebview內(nèi)核,最后再分別處理返回值將之轉(zhuǎn)為base6
推薦度:
導(dǎo)讀JS開發(fā)微信公眾號上傳圖片到本地服務(wù)器:微信公眾號開發(fā)中一般會涉及到在手機公眾號程序中選擇本地圖片或者拍照,將圖片上傳到本地后臺服務(wù)器的功能,網(wǎng)上的做法一般是調(diào)用微信官方提供的chooseImage方法,再判斷是android還是ios并且是否使用WKWebview內(nèi)核,最后再分別處理返回值將之轉(zhuǎn)為base6

微信公眾號開發(fā)中一般會涉及到在手機公眾號程序中選擇本地圖片或者拍照,將圖片上傳到本地后臺服務(wù)器的功能,網(wǎng)上的做法一般是調(diào)用微信官方提供的chooseImage方法,再判斷是android還是ios并且是否使用WKWebview內(nèi)核,最后再分別處理返回值將之轉(zhuǎn)為base64編碼的數(shù)據(jù),再上傳到服務(wù)器上。

這種辦法的難點在于需要判斷系統(tǒng),并且對微信返回的數(shù)據(jù)進行base64編碼,然后在服務(wù)器端還得寫base64解碼的邏輯,本文不使用通用的做法,而是采用先上傳到微信服務(wù)器,再到后臺服務(wù)器端從微信服務(wù)器下載回來保存到文件服務(wù)器。具體代碼如下:

1、頁面

<input type="button" id="uploadBtn">

頁面上只有一個普通的button的上傳按鈕

2、js邏輯

$('#uploadBtn').click(function () {
	wx.chooseImage({
	count: 1,
	sizeType: ['original', 'compressed'], // 可以指定是原圖還是壓縮圖,默認二者都有
	sourceType: ['album', 'camera'], // 可以指定來源是相冊還是相機,默認二者都有
	success: function (res) {
	var localIds = res.localIds; // 返回選定照片的本地ID列表,localId可以作為img標簽的src屬性顯示圖片
	that.uploadImg(localIds[0]);
	}
	});
});

//具體上傳圖片
uploadImg: function (e) {
	wx.uploadImage({
	localId: e, // 需要上傳的圖片的本地ID,由chooseImage接口獲得
	isShowProgressTips: 1, // 默認為1,顯示進度提示
	success: function (res) {
	serverId = res.serverId;
	$.ajax({
	url: "/uploadImg",
	dataType: "json",
	async: false,
	contentType: "application/x-www-form-urlencoded; charset=UTF-8",
	data: {"mediaId": serverId},
	type: "POST",
	timeout: 30000,
	success: function (data, textStatus) {
	$('#imgUrl').val(data);
	$.toast('上傳成功', 'text');
	},
	error: function (XMLHttpRequest, textStatus, errorThrown) {
	$.toast('上傳錯誤,請稍候重試!', 'text');
	}
	});
	},
	fail: function (error) {
	$.toast('上傳錯誤,請稍候重試!', 'text');
	}
	});
}

先調(diào)用wx.chooseImage方法來選擇圖片,然后將結(jié)果再調(diào)用上傳圖片的方法wx.uploadImage,拿到上傳成功的返回值就是mediaId,再調(diào)用我們自己寫的服務(wù)器端的controller方法將mediaId通過ajax提交過去,接下來就是服務(wù)器端的代碼。

3、服務(wù)器端處理邏輯

/**
 * 獲取臨時素材
 *
 * @param mediaId 媒體文件ID
 * @return 正確返回附件對象,否則返回null
 * @throws WeixinException
 */
 public Attachment downloadMedia(String mediaId) throws WeixinException {
 //下載資源
 String url = "https://api.weixin.qq.com/cgi-bin/media/get?access_token=" + this.oauthToken.getAccess_token() + "&media_id=" + mediaId;
 //創(chuàng)建請求對象
 HttpsClient http = new HttpsClient();
 return http.downloadHttps(url);
 }
 
其中Attachment表示下載文件返回值對象,包含的屬性有:
public class Attachment {

 private String fileName;
 private String fullName;
 private String suffix;
 private String contentLength;
 private String contentType;
 private BufferedInputStream fileStream;
 private String error;
 
 省略get/set方法
}

調(diào)用downloadMedia方法之后獲取Attachment對象,主要就是對BufferedInputStream對象的fileStream來進行處理,這個屬性就是圖片文件流,保存文件流到本地就有很多的方法,可以使用apache提供的FileUtils類來處理,這里就不提供具體的代碼了,網(wǎng)上很多類似的。至此我們就已經(jīng)成功的實現(xiàn)在微信公眾號上上傳圖片到本地服務(wù)器了。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

JS開發(fā)微信公眾號上傳圖片到本地服務(wù)器

JS開發(fā)微信公眾號上傳圖片到本地服務(wù)器:微信公眾號開發(fā)中一般會涉及到在手機公眾號程序中選擇本地圖片或者拍照,將圖片上傳到本地后臺服務(wù)器的功能,網(wǎng)上的做法一般是調(diào)用微信官方提供的chooseImage方法,再判斷是android還是ios并且是否使用WKWebview內(nèi)核,最后再分別處理返回值將之轉(zhuǎn)為base6
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 日韩经典第一页 | 久久久久久久久久久9精品视频 | 久久精品一区二区三区不卡牛牛 | 亚洲欧美日本综合 | 韩日精品视频 | 日本久热 | 久久精品一区二区三区不卡牛牛 | 在线观看日韩精品 | 精品国产91乱码一区二区三区 | 久久se精品一区二区国产 | 日韩 欧美 综合 | 亚洲一区二区三区四区在线 | 亚洲欧美国产精品第1页 | 在线永久免费观看的毛片 | 欧美亚洲欧美 | 欧美日韩精品在线 | 热久久国产欧美一区二区精品 | 国产欧美日韩三级 | 九九久久亚洲综合久久久 | 欧美在线一区二区三区精品 | 一级毛片成人免费看a | 国产精品成人va | 日本久久网| 91精品久久久久久久久网影视 | 国产免费一区二区三区免费视频 | wwww欧美| 国产精品视频第一区二区三区 | 欧美伦禁片在线播放 | 欧美日韩黄色大片 | 国产精品一区二区国产 | 亚洲精品不卡久久久久久 | 国产一级高清视频免费看 | 国产在线欧美日韩精品一区二区 | a级毛片免费高清视频 | 国产成人99久久亚洲综合精品 | 中文字幕第7页 | 国产69精品久久久久999 | 欧美日韩第一页 | 91福利国产在线观一区二区 | 极品美女国产精品免费一区 | 久久久久无码国产精品一区 |