サーブレットとJSPを使用してをアップロードするイメージを実装しようとしています。サーブレットとJSPを使用してファイルをアップロード中にservletFileUpload parseRequest()コンパイルエラーが発生しました
私のJSPページは非常に単純であり、唯一の形式は次のとおりです。
<form method="post" action="${pageContext.request.contextPath}/uploader" enctype="multipart/form-data">
<input type="file" name="file" value="Select an image..." />
<input type="submit" value="Upload Now" />
</form>
対応するサーブレットとサーブレット・マッピングがweb.xml
に記載されています。
そして、私のdoPost
方法として見えます:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
FileItemFactory itemFactory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(itemFactory);
if (!contentType.equals("image/png")) {
out.println("Only PNG image files supported.");
continue;
}
try {
List<FileItem> items = upload.parseRequest(request); // here is an error
for (FileItem item : items) {
String contentType = item.getContentType();
File uploadDir = new File(UPLOAD_DIR);
File file = File.createTempFile("img", ".png", uploadDir);
item.write(file);
out.println("File uploaded.");
}
} catch (FileUploadException e) {
out.println("Upload failed.");
return;
}
}
しかし、コンパイラは次の行に文句を言う:List<FileItem> items = upload.parseRequest(request);
:ファイルFileUploadBase方法parseRequest(RequestContext)
を
は、引数には適用されません(HttpServletRequestに)。
答えHow to upload files to server using JSP/Servlet?に、この方法は、すべてのエラーを生成しませんが:
List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);
絶対に正しく!どうもありがとう。 – DimaSan
ようこそ。 –