2013-01-19 79 views
0

有沒有可能從html表單上傳文件而不使用multipart/form-data? 我正在使用Servlets 2.5,所以我不能使用getPart方法,我仍然想使用getParameter方法從字段中獲取值。Servlets上傳文件時沒有使用enctype =「multipart/form-data」

+0

爲什麼不通過PUT上傳。與jQuery相同的主題PUT:http://stackoverflow.com/questions/5518420/how-to-upload-a-file-using-an-http-put-using-jquery – farmer1992

+1

可能的重複[如何上傳文件到服務器使用JSP/Servlet?](http://stackoverflow.com/questions/2422468/how-to-upload-files-to-server-using-jsp-servlet)請閱讀示例,說明如何獲取其他請求參數從文件中。 –

回答

1

與其他人一樣,使用apache commons fileupload來處理mpe請求。

+0

但是當我使用apache commons時,我必須使用multipart/form-data,它不允許我使用getParameter方法 – adaniluk

+0

爲什麼不使用Servlet 3.0 API? – Sonique

0

multipart/form-data編碼類型是HTML文件上傳機制的基本部分 - 例如參見the RFC where it was first standardised,特別是這個section headed "File transfer with ENCTYPE=x-www-form-urlencoded"

雖然現在有其他上傳文件的方法(例如由Flash小部件支持),但這些方法都不允許您以正常的x-www-form-encoded格式提交表單的一部分,但也會附加上傳的文件。

也許你可以編寫一個包裝對象,它包裝了一個支持multipart/form-data的API,並且在非文件字段上實現了你想要的方法getParameter

0

您必須使用enctype表單屬性來上傳文件。

由於您沒有使用Servlet 3.0,所以如果您想繼續使用request.getParameter()調用來從輸入字段獲取數據,則必須創建自己的過濾器。你可以找到完整的例子herehere

相關問題