我寫了一些代碼在JSP像this--如何從JSP中的文件類型獲取完整路徑?
<input type="file" name="imagename" >
和servlet的我正在檢索 'imagename' 值。但它是給圖像的名稱,而不是完整的路徑。我的servlet代碼是這樣的:
String imagename = request.getParameter("imagename");
我不想使用JavaScript。有任何想法嗎?在此先感謝
我寫了一些代碼在JSP像this--如何從JSP中的文件類型獲取完整路徑?
<input type="file" name="imagename" >
和servlet的我正在檢索 'imagename' 值。但它是給圖像的名稱,而不是完整的路徑。我的servlet代碼是這樣的:
String imagename = request.getParameter("imagename");
我不想使用JavaScript。有任何想法嗎?在此先感謝
也許你應該結帳這個問題:How to get the file path from HTML input form in Firefox 3
很少有沒有理由服務器應該知道完整的文件路徑。如果你想上傳一個文件,你需要使用一個合適的庫,如Apache Commons FileUpload,並使用該文件傳輸。
<form action="upload-script-url" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit">
</form>
Apache Commons FileUpload將接受並將編碼文件轉換爲可用格式。
否則,您需要使用JavaScript來獲取該路徑。
imagename
包含您傳遞給servlet的變量...實際的HTTP請求參數。如果您需要完整路徑,請確保調用HTTP頁面的程序正在傳遞完整路徑,而不僅僅傳遞圖像名稱。
假設您嘗試上傳文件到您的服務器,請注意文件上傳比您想要做的要多一點 - 不要指望如果您在表單中有「文件」輸入類型,在提交文件的時候,只要到達你的服務器,不費吹灰之力。有一個特定的程序來做到這一點。
本文可能EA很好的參考:http://www.cs.tut.fi/~jkorpela/forms/file.html
對於Java,使用Apache的公地文件上傳:http://commons.apache.org/fileupload/
它似乎是從您的代碼發佈了一個名爲`imagename`的參數,並且您正在嘗試查找該參數的路徑?令人困惑,或者如果你正在上傳文件,並且你想要從客戶端文件路徑???? – 2010-12-03 10:45:40