日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

form上传文件以及跨域异步上传

發(fā)布時間:2025/6/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 form上传文件以及跨域异步上传 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

要設(shè)置了enctype屬性才能上傳,需要使用上傳的jar包,這里使用的是cos-26Dec2008.jar,

?

?

?

關(guān)于跨域上傳文件:

跨域上傳文件總會報錯,即使服務(wù)器端設(shè)置了header('Access-Control-Allow-Origin:?*'),仍會報錯說缺少multipart屬性,發(fā)現(xiàn)用form提交就沒問題。原因是,

HTML5上傳的時候就是用的CORS規(guī)范,即:在發(fā)送真正的上傳請求之前會先發(fā)送一條OPTIONS請求給服務(wù)器,這時候需要服務(wù)器響應(yīng)允許跨域上傳的HTTP頭,然后中斷輸出。瀏覽器接到允許跨域上傳的HTTP頭后會再次發(fā)起真正的上傳文件請求(POST)。詳細分析參考http://www.cnblogs.com/woshimrf/p/js-cors.html

因此,上傳文件需要應(yīng)答的,第一次options請求需要返回允許跨域的信息,而我通常第一次就當(dāng)做文件接收了,所以接收不到。

做法:對請求進行攔截,如果是options請求直接返回

response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Methods", "POST, PUT, OPTIONS");

如果是別的請求則通過。

1 String method = request.getMethod(); 2 if ("OPTIONS".equals(method)) { 3 return; 4 } 5 nextHandler.handle(target, request, response, isHandled); 本文轉(zhuǎn)自Ryan.Miao博客園博客,原文鏈接:http://www.cnblogs.com/woshimrf/p/file-cors.html,如需轉(zhuǎn)載請自行聯(lián)系原作者

總結(jié)

以上是生活随笔為你收集整理的form上传文件以及跨域异步上传的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。