與${param.key}
類似,是否有解釋使用無Java的EL的多部分/表單數據加密表單的方法?如何僅使用EL分析多部分表單數據
如果不可能,是否有解決方法將文件輸入包含在表單中而不使用多部分/表單數據加密?
與${param.key}
類似,是否有解釋使用無Java的EL的多部分/表單數據加密表單的方法?如何僅使用EL分析多部分表單數據
如果不可能,是否有解決方法將文件輸入包含在表單中而不使用多部分/表單數據加密?
multipart/form-data
用於上傳文件。這可能很大,上傳可能需要一段時間。爲了不阻止其他傳入的請求,處理可能是異步的。
使用Java:
@MultipartConfig:
對於一個servlet接收的multipart/form-data的,你必須添加@MultipartConfig
註釋在servlet的前面,以獲取值通過調用request.getParameter("notFileFieldName");
來顯示純文本參數。否則,該調用將返回null。
但是對於文件及其內容,它並沒有以這種方式工作。
<servlet>
<servlet-name>UploadFile</servlet-name>
<jsp-file>/path/form.jsp</jsp-file>
<multipart-config></multipart-config>
</servlet>
<servlet-mapping>
<servlet-name>UploadFile</servlet-name>
<url-pattern>/path/form.jsp</url-pattern>
</servlet-mapping>
:
文件名,內容類型,大小和內容可以由
request.getPart("theFileFieldName");
返回Part
對象JSP可以在web.xml中添加以下snipplet檢索行<multipart-config></multipart-config>
激活JSP的上述行爲。
因此${param.notFileFieldName}
將被評估爲其值。
但不是${param.theFileFieldName}
AsyncContext可以用來處理上載
,但你不會一個Java解決方案。
使用javascript:的FileReader()
一個基本的例子,你可以閱讀如何在客戶端文件。 (不上傳) 來源:https://developer.mozilla.org/de/docs/Web/API/FileReader/readAsDataURL
HTML
<input type="file" onchange="previewFile()"><br>
<img src="" height="200" alt="Image preview...">
的JavaScript:
function previewFile() {
var preview = document.querySelector('img');
var file = document.querySelector('input[type=file]').files[0];
var reader = new FileReader();
reader.addEventListener("load", function() {
preview.src = reader.result;
}, false);
if (file) {
reader.readAsDataURL(file);
}
}
如果需要上傳這是可以做到的AJAX。