久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

node.js - Nodejs微信開發(fā),視頻上傳成功,但是不返回給用戶

瀏覽:141日期:2022-06-25 18:30:37

問題描述

用nodejs進行微信開發(fā)上傳的是臨時素材對視頻的回復(fù)機制如下:

if(content === ’視頻’){var data = yield wechatApi.uploadMaterial(’video’,__dirname+’publicvideo3.mp4’)console.log(’data’)console.log(data)reply = { type:’video’, title:’回復(fù)的視頻’, description:’視頻描述’, mediaId:data.media_id} }

在手機微信客戶端輸入“視頻”后,后臺的顯示如下:node.js - Nodejs微信開發(fā),視頻上傳成功,但是不返回給用戶

出現(xiàn)這樣的代碼,應(yīng)該就是上傳成功了吧?但是,手機上顯示的是該公眾號暫時無法提供服務(wù),請稍后再試?這是為什么?ps:又發(fā)現(xiàn)上傳的時候,上傳了三次?只發(fā)了一個'視頻',怎么會上傳三次?上傳的代碼如下:

Wechat.prototype.uploadMaterial = function(type,filepath){var that = this;var form = { media: fs.createReadStream(filepath)}return new Promise(function(resolve,reject){ that .fetchAccessToken() .then(function(data){console.log(data);var url = api.upload +’access_token=’+data.access_token + ’&type=’+type; request({method:’POST’,url:url,formData:form,json:true}).then(function(response){var _data = response.body;//console.log(data);if(_data){ resolve(_data)}else{ throw new Error(’upload Material fail’)} }) .catch(function(err){reject(err) }) })}) }

至于上傳的接口是這樣的:var wechatApi = new Wechat(config.wechat)這個就是對上面的實例化,具體實例化需要的數(shù)據(jù)從config里面獲取。在上傳的時候,使用wechatApi.uploadMaterial()這個方法來實現(xiàn)。

問題解答

回答1:

1.為什么微信為什么返回公眾號暫時無法提供服務(wù) 微信的機制是 用戶發(fā)送給公眾號信息后,服務(wù)器5秒內(nèi)沒有返回則提示該公眾號暫時無法提供服務(wù)

5秒的機制是可以用別的方式解決的, 先返回給微信空內(nèi)容為了不提示, 等程序處理完再給微信返回一個正確的 響應(yīng)內(nèi)容

2.上傳三次的問題需要你貼上傳接口的代碼和上傳處理的代碼,然后我們在說怎么解決

回答2:

這個問題在我開發(fā)的時候也遇到了,當用戶發(fā)送“視頻”兩個字后,后臺確實是在上傳視頻素材(上傳的代碼寫得沒有問題),但是視頻上傳的時間由于網(wǎng)絡(luò)或者微信后臺本身的原因有時會超過5秒(大一點的視頻在測試賬號都超5秒),這時服務(wù)器就直接返回提示信息:該公眾號暫時無法提供服務(wù)。需要過一會兒,程序才打印出你截圖的data和xml的信息。

所以自動回復(fù)的時候上傳視頻素材這種做法是不合適的,視頻應(yīng)該事先先上傳好,用戶發(fā)送'視頻',直接獲取事先上傳好的視頻信息,并回復(fù)用戶

標簽: 微信
主站蜘蛛池模板: 凌源市| 开江县| 泸溪县| 林周县| 日照市| 镇巴县| 阜平县| 富蕴县| 天门市| 丹凤县| 钟祥市| 基隆市| 上思县| 巴塘县| 贵溪市| 武邑县| 抚松县| 增城市| 平安县| 普洱| 永修县| 芜湖市| 黎城县| 丹江口市| 齐河县| 慈利县| 饶阳县| 襄樊市| 玉林市| 宾川县| 仪陇县| 阿勒泰市| 岐山县| 怀仁县| 临潭县| 广河县| 永安市| 团风县| 额敏县| 波密县| 南京市|