###前提・実現したいこと
画像ファイルをアップロードしたい。
###発生している問題・エラーメッセージ
『java.io.FileNotFoundException:』
C:\pleiades\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\test4\files\Desert.jpg (指定されたパスが見つかりません。)
###該当のソースコード
『java』
package servlet;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class UploadServlet extends HttpServlet {
protected void doPost
(HttpServletRequestrequest,HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);
String path = getServletContext().getRealPath("files");
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
factory.setSizeThreshold(1024);
upload.setFileSizeMax(-1);
upload.setHeaderEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try{
List list = upload.parseRequest(request);
Iterator iterator = list.iterator();
while(iterator.hasNext()){
FileItem fItem = (FileItem)iterator.next();
if(!(fItem.isFormField())){
String fileName = fItem.getName();
if((fileName != null)&&(!fileName.equals(""))){
fileName = (new File(fileName).getName());
fItem.write(new File(path+"/"+fileName));
}
}
}
}catch(FileUploadException e){
e.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-
INF/jsp/pass.jsp");dispatcher.forward(request, response);
}
}
###試したこと
###補足情報(言語/FW/ツール等のバージョンなど)
ディレクトリ構造は以下のようになっています。
Webコンテキストルート(/test4)
|--WEB-INF
| |-- jsp
| |--
--files |
---|
よろしくお願いいたします。
あなたの回答
tips
プレビュー