今天我們來介紹一下jsp和java文件上傳。jsp是一種用于動態(tài)網(wǎng)頁開發(fā)的技術(shù),可以方便地與java代碼進行交互。而文件上傳則是一種常見的需求,在開發(fā)中也是不可避免的。下面我們先來看一下使用jsp實現(xiàn)文件上傳的代碼:
如上所示,我們可以使用html表單的方式來實現(xiàn)文件上傳。其中,enctype屬性需要設置為“multipart/form-data”,否則會導致文件上傳失敗。要注意的是,這里的form action需要設置為對應的jsp頁面的位置。下面是對應的上傳文件的jsp代碼:
在這個代碼中,我們需要通過request對象獲取到上傳的文件流,然后將文件寫入到服務器的指定路徑中。在當前代碼中,我們指定了一個名為upload的文件夾作為文件存儲的目錄。同時,為避免上傳的文件名重復,我們通過System.currentTimeMillis()獲取的毫秒值來作為每個上傳文件的文件名。
以上就是jsp和java文件上傳的實現(xiàn)方式。希望對大家有所幫助。
<form action="upload.jsp" method="post"
enctype="multipart/form-data">
<p>上傳文件:</p>
<input type="file" name="file" />
<input type="submit" value="上傳" />
</form>
如上所示,我們可以使用html表單的方式來實現(xiàn)文件上傳。其中,enctype屬性需要設置為“multipart/form-data”,否則會導致文件上傳失敗。要注意的是,這里的form action需要設置為對應的jsp頁面的位置。下面是對應的上傳文件的jsp代碼:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.io.*,java.util.*"%>
<%@ page import="javax.servlet.*"%>
<%@ page import="javax.servlet.http.*"%>
<% request.setCharacterEncoding("UTF-8");//設置編碼類型
String savePath = getServletContext().getRealPath("/") + "upload";//獲取上傳文件保存的目錄
File saveDir=new File(savePath);
if(!saveDir.exists())saveDir.mkdir();//如果目錄不存在,創(chuàng)建目錄
String fileName = "";//上傳的文件名
try{
InputStream inputStream=request.getInputStream();
byte[] buffer=new byte[1024];
int len=0;
FileOutputStream fileOut=new FileOutputStream(new File(saveDir,System.currentTimeMillis()+".rar"));
while((len=inputStream.read(buffer))>0){
fileOut.write(buffer,0,len);
}
fileOut.flush();
fileOut.close();
}catch (IOException e){
e.printStackTrace();
}
%><p>上傳成功!</p>
在這個代碼中,我們需要通過request對象獲取到上傳的文件流,然后將文件寫入到服務器的指定路徑中。在當前代碼中,我們指定了一個名為upload的文件夾作為文件存儲的目錄。同時,為避免上傳的文件名重復,我們通過System.currentTimeMillis()獲取的毫秒值來作為每個上傳文件的文件名。
以上就是jsp和java文件上傳的實現(xiàn)方式。希望對大家有所幫助。
下一篇php 便利文件