當前位置:首頁 » 文件管理 » jsp上傳下載

jsp上傳下載

發布時間: 2022-07-20 15:45:23

㈠ jsp中如何編寫代碼實現圖片的上傳下載

圖片的上傳一般是用組件做的,一般不會用jsp去編寫,比較常見的圖片上傳組件有smartUpload,struts框架的file-common-upload等。
試著學習一下吧,很簡單好使。

㈡ jsp上傳下載文件的路徑問題

jsp上傳下載文件的路徑是在伺服器建立指定路徑如下:
//接收上傳文件內容中臨時文件的文件名
String tempFileName = new String("tempFileName");
//tempfile 對象指向臨時文件
File tempFile = new File("D:/"+tempFileName);
//outputfile 文件輸出流指向這個臨時文件
FileOutputStream outputStream = new FileOutputStream(tempFile);
//得到客服端提交的所有數據
InputStream fileSourcel = request.getInputStream();
//將得到的客服端數據寫入臨時文件
byte b[] = new byte[1000];
int n ;
while ((n=fileSourcel.read(b))!=-1){
outputStream.write(b,0,n);
}

//關閉輸出流和輸入流
outputStream.close();
fileSourcel.close();

//randomFile對象指向臨時文件
RandomAccessFile randomFile = new RandomAccessFile(tempFile,"r");
//讀取臨時文件的第一行數據
randomFile.readLine();
//讀取臨時文件的第二行數據,這行數據中包含了文件的路徑和文件名
String filePath = randomFile.readLine();
//得到文件名
int position = filePath.lastIndexOf('\\');
CodeToString codeToString = new CodeToString();
String filename = codeToString.codeString(filePath.substring(position,filePath.length()-1));
//重新定位讀取文件指針到文件頭
randomFile.seek(0);
//得到第四行回車符的位置,這是上傳文件數據的開始位置
long forthEnterPosition = 0;
int forth = 1;
while((n=randomFile.readByte())!=-1&&(forth<=4)){
if(n=='\n'){
forthEnterPosition = randomFile.getFilePointer();
forth++;
}
}

//生成上傳文件的目錄
File fileupLoad = new File("D:/work space/JSP workspace/jsp_servlet_upAndLoad/file","upLoad");
fileupLoad.mkdir();
//saveFile 對象指向要保存的文件
File saveFile = new File("D:/work space/JSP workspace/jsp_servlet_upAndLoad/file/upLoad",filename);
RandomAccessFile randomAccessFile = new RandomAccessFile(saveFile,"rw");
//找到上傳文件數據的結束位置,即倒數第四行
randomFile.seek(randomFile.length());
long endPosition = randomFile.getFilePointer();
int j = 1;
while((endPosition>=0)&&(j<=4)){
endPosition--;
randomFile.seek(endPosition);
if(randomFile.readByte()=='\n'){
j++;
}
}

//從上傳文件數據的開始位置到結束位置,把數據寫入到要保存的文件中
randomFile.seek(forthEnterPosition);
long startPoint = randomFile.getFilePointer();
while(startPoint<endPosition){
randomAccessFile.write(randomFile.readByte());
startPoint = randomFile.getFilePointer();
}
//關閉文件輸入、輸出
randomAccessFile.close();
randomFile.close();
tempFile.delete();

jsp文件下載選擇路徑:
//要下載的文件
File fileload = new File("D:/work space/JSP workspace/jsp_servlet_upAndLoad/file/upLoad",filename);

㈢ 我想用jsp語言編寫的網頁中實現文件上傳、下載的功能,請問完整的代碼怎麼寫,盡量是最簡單的,謝謝

<input type='file'>
然後設置form的 enctype= "multipart/form-data "
然後後台從HttpServletRequest裡面取文件出來就ok了!

㈣ jsp 文件上傳和下載

1.jsp頁面
<s:form action="fileAction" namespace="/file" method="POST" enctype="multipart/form-data">
<!-- name為後台對應的參數名稱 -->
<s:file name="files" label="file1"></s:file>
<s:file name="files" label="file2"></s:file>
<s:file name="files" label="file3"></s:file>
<s:submit value="提交" id="submitBut"></s:submit>
</s:form>
2.Action
//單個文件上傳可以用 File files,String filesFileName,String filesContentType
//名稱要與jsp中的name相同(三個變數都要生成get,set)
private File[] files;
// 要以File[]變數名開頭
private String[] filesFileName;
// 要以File[]變數名開頭
private String[] filesContentType;

private ServletContext servletContext;

//Action調用的上傳文件方法
public String execute() {
ServletContext servletContext = ServletActionContext.getServletContext();
String dataDir = servletContext.getRealPath("/file/upload");
System.out.println(dataDir);
for (int i = 0; i < files.length; i++) {
File saveFile = new File(dataDir, filesFileName[i]);
files[i].renameTo(saveFile);
}
return "success";
}
3.配置上傳文件臨時文件夾(在struts.xml中配置)
<constant name="struts.multipart.saveDir" value="c:/temp"/>
文件下載
1.下載的url(到Action)
<a href="${pageContext.request.contextPath}/file/fileAction!down.action">下載</a>
2.struts.xml配置
<package name="file" namespace="/file" extends="struts-default">
<action name="fileAction" class="com.struts2.file.FileAction">
<!-- 下載文件配置 -->
<!--type 為 stream 應用 StreamResult 處理-->
<result name="down" type="stream">
<!--
不管實際類型,待下載文件 ContentType 統一指定為 application/octet-stream
默認為 text/plain
-->
<param name="contentType">application/octet-stream</param>
<!--
默認就是 inputStream,它將會指示 StreamResult 通過 inputName 屬性值的 getter 方法,
比如這里就是 getInputStream() 來獲取下載文件的內容,意味著你的 Action 要有這個方法
-->
<param name="inputName">inputStream</param>
<!--
默認為 inline(在線打開),設置為 attachment 將會告訴瀏覽器下載該文件,filename 指定下載文
件保有存時的文件名,若未指定將會是以瀏覽的頁面名作為文件名,如以 download.action 作為文件名,
這里使用的是動態文件名,${fileName}, 它將通過 Action 的 getFileName() 獲得文件名
-->
<param name="contentDisposition">attachment;filename="${fileName}"</param>
<!-- 輸出時緩沖區的大小 -->
<param name="bufferSize">4096</param>
</result>
</action>
</package>
3.Action
//Action調用的下載文件方法
public String down() {
return "down";
}

//獲得下載文件的內容,可以直接讀入一個物理文件或從資料庫中獲取內容
public InputStream getInputStream() throws Exception {
String dir = servletContext.getRealPath("/file/upload");
File file = new File(dir, "icon.png");
if (file.exists()) {
//下載文件
return new FileInputStream(file);

//和 Servlet 中不一樣,這里我們不需對輸出的中文轉碼為 ISO8859-1
//將內容(Struts2 文件下載測試)直接寫入文件,下載的文件名必須是文本(txt)類型
//return new ByteArrayInputStream("Struts2 文件下載測試".getBytes());
}
return null;
}

// 對於配置中的 ${fileName}, 獲得下載保存時的文件名
public String getFileName() {
String fileName ="圖標.png";
try {
// 中文文件名也是需要轉碼為 ISO8859-1,否則亂碼
return new String(fileName.getBytes(), "ISO8859-1");
} catch (UnsupportedEncodingException e) {
return "icon.png";
}
}

㈤ jsp項目中涉及文件的上傳和下載怎麼實現

你是用什麼框架,如果裡面有struts的話可以用struts自帶有上傳下載的功能,只需要寫代碼就好了,如果需要加我987781070,如果沒有用到struts可以用ajax實現,這個自己網路就好了,很多案例的!

㈥ jsp 文件的上傳與下載 要求對文件的類型、大小進行選擇判斷

你下載一個 jspsmartupload 里不是有七個例子,其中一個就是了,你看看

㈦ 如何用JSP實現文件的上傳和下載,要對資料庫進行什麼操作

你的表單呢?他的意思等你上傳完成後,你要把文件信息更新到資料庫,當你在向用戶展示時,只需要查詢數據即可。可以再資料庫建一個表,吧相應欄位存起來,最重要的是存上你的圖片路徑和名字。

㈧ jsp如何實現文件上傳與下載

如果伺服器端程序使用的是struts2框架的話,我會,其他的不會。
struts2:
對於上傳,jsp頁面只需要有個file類型的表單域,如<input type="file" name="xxx" />
struts2的接收請求的action中再寫三個屬性與這個表單域的名稱對應起來,他們是,File類型的xxx,String類型的xxxFileName,String類型的xxxContentType,並其設置相應的set/get方法。則框架負責接收上傳文件的位元組流,解析文件名,文件類型,直接使用即可。
對於下載,只需要在action的配置文件中設置如下返回值類型和相應參數:
<result type="stream">
<param name="contentType">application/octet-stream</param>
<param name="inputName">inputStream</param>
<param name="contentDisposition">attachment;filename=xxx </param> xxx為下載文件的文件名
</result>
且在action總寫一個返回值類型為InputStream的getInputStream方法,此方法返回你要下載的文件的流即可。
ps:其中contentDisposition的配置信息中attachment代表點擊下載時瀏覽器先彈出個保存位置的提示框,然後再決定是否下載,默認是inline,即直接打開文件。

㈨ jsp實現文件(doc,pdf,jpg,xls,ppt)上傳下載功能.

當然可以了啊,你只需要在後台文件中增加讀取文件信息,然後歸類的方法就行了。
如果你是單純用JSP然後就直接連接DB。。。。。直接在DAO裡面實現吧,把文件信息分別讀出來,然後insert到一張表裡面去,並且,附上文件的path。也就是說,那張表裡面至少得要有文件的路徑,然後才是你所需要保存的信息。

熱點內容
java中io流 發布:2025-01-25 09:02:54 瀏覽:877
華為高斯資料庫 發布:2025-01-25 08:55:38 瀏覽:30
php是動態語言 發布:2025-01-25 08:45:44 瀏覽:66
伺服器關閉了電腦網路還能用 發布:2025-01-25 08:22:28 瀏覽:587
熱血航線的登錄密碼在哪裡可以看 發布:2025-01-25 08:22:27 瀏覽:769
5系怎麼選擇配置 發布:2025-01-25 08:22:18 瀏覽:842
pythonscipy 發布:2025-01-25 08:18:52 瀏覽:418
恕瑞瑪伺服器地址 發布:2025-01-25 08:18:51 瀏覽:801
oa源碼php 發布:2025-01-25 08:11:31 瀏覽:734
gpc腳本 發布:2025-01-25 08:10:47 瀏覽:317