protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); String savePath = request.getServletContext().getRealPath("/images"); Part part = request.getPart("file"); PrintWriter out = response.getWriter(); out.println("上傳成功"); out.flush(); out.close(); }重點(diǎn)是這兩句:1 Part part=request.getPart("file");2 String header= part.getHeader("content-disposition");我剛開(kāi)始在xp上使用的時(shí)候,header返回正常:form-data;name="file";filename="0232.png";后來(lái)我換了win7怎么返回的filename帶路徑:form-data; name="file"; filename="F:\圖片\0232.png";請(qǐng)問(wèn)這是怎么回事,是不是和操作系統(tǒng)有關(guān)了?我其他的也沒(méi)改變?。縿傞_(kāi)始學(xué)jsp,servlet,不懂?希望大家?guī)椭?,謝謝~~~
2 回答

LEATH
TA貢獻(xiàn)1936條經(jīng)驗(yàn) 獲得超7個(gè)贊
同意樓上的,這個(gè)是瀏覽器的原因,不同的瀏覽器在向服務(wù)器發(fā)送上傳文件的名稱部分時(shí)是會(huì)存在一些差異的,這個(gè)建議取出filename處理后再使用,一般了服務(wù)器端都不會(huì)太關(guān)注這個(gè)原始圖片名稱的,都會(huì)根據(jù)服務(wù)器端規(guī)則進(jìn)行生成相應(yīng)的文件名稱的,所以這個(gè)從這個(gè)角度來(lái)說(shuō)你可以完全不用管。

小怪獸愛(ài)吃肉
TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超1個(gè)贊
這個(gè)跟服務(wù)器沒(méi)有關(guān)系,是瀏覽器發(fā)上來(lái)的http報(bào)文就是這樣的,不同的瀏覽器有些地方會(huì)有差異。裝個(gè)fiddler抓下包就能看到完整的協(xié)議了。
添加回答
舉報(bào)
0/150
提交
取消