我正试图写一个java自定义标记上传文件。但上传文件时,它返回空作为输出。任何帮助可以感谢
标记处理程序类:
public class SavePostTag extends SimpleTagSupport {
boolean isMultiPart;
public void doTag() throws JspException, IOException {
PageContext ctx = (PageContext)getJspContext();
HttpServletRequest request = (HttpServletRequest)ctx.getRequest();
try {
final Part tmpFile = request.getPart("file");
String fileName = request.getHeader("content-disposition");
ir.mahdiii.entity.File file = new ir.mahdiii.entity.File(Constant.repositoryPath + fileName, UrlGenerator.getInstance().generateRndUrl());
DbManager.getInstance().saveFileInfo(file);
FileOutputStream fileOutputStream = new FileOutputStream(file);
int tmp = 0;
FileInputStream fileInputstream = (FileInputStream)tmpFile.getInputStream();
while ((tmp = fileInputstream.read(new byte[1024])) != -1) {
fileOutputStream.write(tmp);
}
fileOutputStream.close();
} catch (ServletException | ClassNotFoundException | SQLException | NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
getJspContext().getOut().write("SUCCESS");
}
jsp文件:
<c:if test="${param.status eq 'success'}">
<j:savepost/>
</c:if>
<div class="row">
<form action="/web/?page=admin&status=success" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit">
</form>
</div>
但在这条线上 final Part**tmpFile = request.getPart("file");
它回来了 null
. 你知道吗?
暂无答案!
目前还没有任何答案,快来回答吧!