檔案上傳和解析的理解
阿新 • • 發佈:2019-02-05
jsp核心程式碼:
<body>
<form name="frm_test" action="${pageContext.request.contextPath }/upload" method="post" enctype="multipart/form-data">
使用者名稱:<input type="text" name="userName"> <br/>
檔案: <input type="file" name="file_txt"> <br/>
<input type="submit" value="登入">
</form>
</body>
enctype=”multipart/form-data”在檔案上傳實力中尤為重要不可缺少
servlet實現對上傳檔案獲取,簡單輸出檔案中的內容:
public class UploadServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//1. 獲取表單資料流
InputStream in = request.getInputStream();
//2. 轉換流
InputStreamReader inStream = new InputStreamReader(in, "UTF-8");
//3. 緩衝流
BufferedReader reader = new BufferedReader(inStream);
// 輸出資料
String str = null;
while ((str = reader.readLine()) != null ) {
System.out.println(str);
}
// 關閉
reader.close();
inStream.close();
in.close();
}
輸出結果:
------WebKitFormBoundaryGoQviatB7iM1dhPr
Content-Disposition: form-data; name="userName"
tom
------WebKitFormBoundaryGoQviatB7iM1dhPr
Content-Disposition: form-data; name="file_txt"; filename="test.txt"
Content-Type: text/plain
test
test
------WebKitFormBoundaryGoQviatB7iM1dhPr--
實現簡單的實現,這樣主要是應用了位元組流去接收檔案,在使用轉換流把位元組流轉換成字元流最後存在字元緩衝流中完成輸出,注意不要忘記對servlet進行配置