JSP

2014-10-24 3 views
0

내가 내에서 appengine 에 이미지를 업로드 할 그 때문에 내가 (인터넷에있는 다른 sourse에서)을 entite의 myimage을이 구글 AppEngine에에 이미지를 업로드 할 수 없습니다 또한) internt에서 : (이것은 JSP 페이지에서 사용하는 서블릿의)JSP

public class UploadImg extends HttpServlet 
{ 

    /** 
    * 
    */ 
    private static final long serialVersionUID = 1L; 

    public void doPost(HttpServletRequest req, HttpServletResponse res) 
    { 
     // Get the image representation 

     try 
     { 
      HelpDebug.msg="start of servlet"; 
      ServletFileUpload upload = new ServletFileUpload(); 
      FileItemIterator iter = upload.getItemIterator(req); 
      FileItemStream imageItem = iter.next(); 
      InputStream imgStream = imageItem.openStream(); 
      HelpDebug.msg="after open stream"; 
      // construct our entity objects 

      Blob imageBlob = new Blob(IOUtils.toByteArray(imgStream)); 
      MyImage myImage = new MyImage(imageItem.getName(), imageBlob); 

      HelpDebug.msg="after creating Image"; 
      // persist image 
      BackendFactory.getInstance().SendImg(myImage); 
      HelpDebug.msg="after get instance "; 
      // respond to query 
      res.setContentType("text/plain"); 
      res.getOutputStream().write("OK!".getBytes()); 
     } catch (Exception ex) 
     { 
      try 
      { 
       res.getOutputStream().write(ex.getMessage().getBytes()); 
      } catch (IOException e) 
      { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
     } 
    } 
} 

내가 타입 myimage을에서 개체가 아니라 올바른 내용 를 만들어 졌음을 볼 수있는 데이터 소스 뷰어를 검사 할 때..

<%@page import="com.example.servlets.HelpDebug"%> 
<%@ page language="java" contentType="text/html; charset=windows-1255" 
    pageEncoding="windows-1255"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" 
    content="text/html; charset=windows-1255"> 
<title>Insert title here</title> 
</head> 
<body> 


    <form action="UploadImg" method="post" enctype="multipart/form-data"> 

     <input name="name" type="text" value=""> <br /> <input 
      name="imageField" type="file" size="30"> <br /> <input 
      name="Submit" type="submit" value="Sumbit"> 
     <% 
      HelpDebug.desc = request.getParameter("name") == null ? "null :P" 
        : request.getParameter("name"); 
      out.println(HelpDebug.getMsg()); 
     %> 
    </form> 


</body> 
</html> 

서블릿 declartion가 :

<servlet> 
     <servlet-name>UploadImg</servlet-name> 
     <servlet-class>com.example.servlets.UploadImg</servlet-class> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>UploadImg</servlet-name> 
     <url-pattern>/UploadImg</url-pattern> 
    </servlet-mapping> 

어떤 아이디어를 내가 다음과 같이 내가 JSP 파일에서 정보를 얻기에 문제가 있다고 생각

(이름 필드가 null이) ??

답변

1

Blobstore Java API Overview의 예를 따라 이미지를 업로드하십시오. 코드에서 수행하려는 작업보다 훨씬 쉽습니다.