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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FileItem API详解及演示

發布時間:2024/4/13 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FileItem API详解及演示 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
FileItem1.isFormField用于判斷是否是上傳組件.如果是<input type="file">返回的就是false,否則返回true.2.getFieldName();返回值String,得到組件名稱 <input name="">3.getName();返回值是String,得到的是上傳文件的名稱.注意:瀏覽器不同,它們得到的效果不一樣。1.包含全路徑名稱 例如: C:\Users\Administrator\Desktop\a.txt2.只包含上傳文件名稱 例如:a.txt4.getString();這個方法可以獲取非上傳組件的內容,相當于 getParameter方法作用。問題:如果信息是中文,會出現亂碼,解決方案 getString("utf-8");如果是上傳組件,上傳的文件是文本文件,可以獲取到文件文件的內容。但是如果不是文件文件,例如:是一張圖片,這樣獲取合適嗎?5.獲取上傳文件的內容,保存到服務器端.item.getInputStream();它是用于讀取上傳文件內容的輸入流.使用文件復制操作就可以完成文件上傳。6.刪除臨時文件item.delete();------------------------------------------------------------ 總結:關于文件上傳時的亂碼問題:1.上傳文件名稱亂碼ServletFileUpload.setHeaderEncoding("utf-8"); 2.非上傳組件內容亂碼FileItem.getString("utf-8");3.思考:上傳文件信息是否會亂碼,需要解決嗎?不需要解決,因為我們在上傳時,使用的字節流來進行復制。 FileItem 表示文件上傳表單中 每個數據部分 boolean isFormField() 判斷該數據項是否為文件上傳項,true 不是文件上傳 false 是文件上傳 if(fileItem.isFormField()){// 不是上傳項java.lang.String getFieldName() 獲得普通表單項name屬性java.lang.String getString() / java.lang.String getString(java.lang.String encoding) 獲 得普通表單項value屬性 傳入編碼集用來解決輸入value亂碼 }else{// 是上傳項java.lang.String getName() 獲得上傳文件名 (注意IE6存在路徑)java.io.InputStream getInputStream() 獲得上傳文件內容輸入流// 上傳文件void delete() 刪除臨時文件(刪除時,必須要管理輸入輸出流) }注意事項:因為文件上傳表單采用編碼方式multipart/form-data 與傳統url編碼不同,所有getParameter 方法不能使用 setCharacterEncoding 無法解決輸入項亂碼問題

?

總結

以上是生活随笔為你收集整理的FileItem API详解及演示的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。