国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

flash上傳在spring mvc中出現(xiàn)的問題1

2019-11-15 01:04:24
字體:
來源:轉載
供稿:網(wǎng)友
Flash上傳在sPRing mvc中出現(xiàn)的問題1

轉載請注明:TheViperhttp://m.survivalescaperooms.com/TheViper

在pc端上傳,往往為了兼容性,會使用flash(如swfupload,uploadify)以獲得更好的用戶體驗。

但是如果后臺是spring mvc且瀏覽器是IE的話,服務器不會返回數(shù)據(jù)到flash,進而觸發(fā)FileReference的DataEvent.UPLOAD_COMPLETE_DATA事件,執(zhí)行回調(diào)對頁面做相應變化。奇怪的是在非IE瀏覽器中,flash就能得到返回的數(shù)據(jù)。

把log4j級別改成debug.

IE

非IE

可以看到兩個都收到flash傳過來的multipart file內(nèi)容,但是IE debug中有個HttpMediaTypeNotAcceptableException。文檔上說的是Exception thrown when the request handler cannot generate a response that is acceptable by the client。這下就明白了,后臺返回的響應不被flash接受。

那么這個問題是怎么冒出來的?

好在flash上傳在本屌的node js后臺上可以運行。下面就看下IE下flash上傳請求的頭信息。

而非IE下

注意到IE下頭信息里面的accept:'text/*'.本屌的spring mvc后臺返回的是json.而且用的是最直接的方式。@RequestMapping(value="/upload1",produces {"application/json;charset=UTF-8"})。也就是說響應是Content-Type:application/json;charset=UTF-8。而這時flash只接受Content-Type:text/*(text/html,text/xml...)的響應。非IE下的頭信息accept是*/*,可以接受content-type為任何類型的響應,flash當然可以接受后臺響應了。

知道問題出在哪就好改了,本屌這里就直接把application/json改成text/*.如果用的其他方式返回json或其他形式數(shù)據(jù),也要注意把響應的content-type設為和flash的accept一致。具體的本屌就不說了。

另外,如果修改flash源碼,對上傳的URLRequest修改accept是沒用的,上傳的時候accept還是flash在不同瀏覽器中的默認值。

            var request:URLRequest=new URLRequest('http://localhost:8080/qzone/photo/upload1');            var header:URLRequestHeader = new URLRequestHeader("accept", "application/json");            request.requestHeaders.push(header);


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 桦川县| 邵武市| 平泉县| 绍兴市| 东乡县| 东乌| 岐山县| 邛崃市| 东宁县| 南安市| 德令哈市| 磐石市| 尼玛县| 西盟| 玛曲县| 桃园市| 娱乐| 景泰县| 德清县| 乌拉特前旗| 阿尔山市| 长兴县| 阿坝县| 亳州市| 马公市| 新昌县| 都昌县| 乌拉特中旗| 瑞丽市| 香河县| 阜宁县| 博兴县| 资兴市| 镇远县| 武宣县| 桑植县| 大理市| 浦江县| 桑日县| 商南县| 崇左市|