當前位置:首頁 » 文件管理 » jsp獲取上傳文件路徑

jsp獲取上傳文件路徑

發布時間: 2025-07-03 14:44:46

A. 關於j2ee中取伺服器端地址

基本上java獲取路徑就這些了,應該有你的答案,現在加班呢,沒時間看你的程序,呵呵,自己試試吧!

1.在Servlet中取得路徑:

(1)得到工程目錄:request.getSession().getServletContext().getRealPath("") 參數可具體到包名。
結果:E:\Tomcat\webapps\TEST
(2)得到IE地址欄地址:request.getRequestURL()
結果:http://localhost:8080/TEST/test
(3)得到相對地址:request.getRequestURI()
結果:/TEST/test

2.jsp中取得路徑:

以工程名為TEST為例:

(1)得到包含工程名的當前頁面全路徑:request.getRequestURI()
結果:/TEST/test.jsp
(2)得到工程名:request.getContextPath()
結果:/TEST
(3)得到當前頁面所在目錄下全名稱:request.getServletPath()
結果:如果頁面在jsp目錄下 /TEST/jsp/test.jsp
(4)得到頁面所在伺服器的全路徑:application.getRealPath("頁面.jsp")
結果:D:\resin\webapps\TEST\test.jsp
(5)得到頁面所在伺服器的絕對路徑:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();
結果:D:\resin\webapps\TEST

3.在類中取得路徑:

(1)類的絕對路徑:Class.class.getClass().getResource("/").getPath()
結果:/D:/TEST/WebRoot/WEB-INF/classes/pack/
(2)得到工程的路徑:System.getProperty("user.dir")
結果:D:\TEST

B. 總jspsmartupload組件上傳的文件如何獲取其文件名

String fileName=smartupload.getFiles().getFile(0).getFileName();
這個有沒有擴展名我記此山鎮不太清了~~如果現在得到的有擴展名,你又不想森粗要。可以:
int i=fileName.lastIndexOf("."); //這是得到擴展名前面的唯簡.下標值。
String fileName=fileName.subString(0,i); //截取從0~ . 之間的的字元就是不含擴展名的文件名了..
如果哪有不妥,再聯系我..

C. 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";
}
}

D. jsp頁面中怎麼獲取上傳到tomcat伺服器中的文件地址,我後台上傳的圖片,在前台要動態獲取圖片地址並顯示

從資料庫中查出來然後返回到jsp頁面用el表達式可以獲取,或者是struts標簽也行1

E. java web怎麼上傳圖片到指定的項目文件夾,並獲取該路徑,將路徑存儲到資料庫,用相對路徑哦

當前項目的路經,通過request.getSession().getServletContext().getRealPath("/")獲取到的

F. 如何在jsp上實現選擇一個文件夾,並顯示路徑名

jsp中實現文件上傳選擇是通過inputfile=「file」實現的。

示例如下:

functionbrowseFolder(path){
try{
varMessage="";//選擇框提示信息
varShell=newActiveXObject("Shell.Application");
varFolder=Shell.BrowseForFolder(0,Message,64,17);//起始目錄為:我的電腦
//varFolder=Shell.BrowseForFolder(0,Message,0);//起始目錄為:桌面
if(Folder!=null){
Folder=Folder.items();//返回FolderItems對象
Folder=Folder.item();//返回Folderitem對象
Folder=Folder.Path;//返迴路徑
if(Folder.charAt(Folder.length-1)!=""){
Folder=Folder+"";
}
document.getElementById(path).value=Folder;
returnFolder;
}
}
catch(e){
alert(e.message);
}
}

上面文件值得注意的地方:
1.action="UploadServlet"必須和後面的web.xml配置文件中對servlet映射必須保持一致.
2.method="POST"這里必須為"POST"方式提交不能是"GET".
3.enctype="multipart/form-data"這里是要提交的內容格式,表示你要提交的是數據流,而不是普通的表單文本.
4.file1表示你要上傳一個文件.

熱點內容
java中的默認值 發布:2025-07-03 22:11:34 瀏覽:750
岳姓三才配置怎麼分 發布:2025-07-03 22:10:26 瀏覽:666
演算法需求分析 發布:2025-07-03 22:00:45 瀏覽:145
單片機的交叉編譯 發布:2025-07-03 22:00:45 瀏覽:861
滑鼠存儲 發布:2025-07-03 21:43:54 瀏覽:103
unity3d腳本打包 發布:2025-07-03 21:36:05 瀏覽:864
伺服器獨享寬頻怎麼樣 發布:2025-07-03 21:35:58 瀏覽:839
重慶哪裡有安卓手機專賣店 發布:2025-07-03 21:21:42 瀏覽:380
上傳ftp亂碼linux 發布:2025-07-03 21:20:26 瀏覽:335
多線程下載java 發布:2025-07-03 21:15:30 瀏覽:718