首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将图像从phonegap应用程序上传到服务器(servlet)

问将图像从phonegap应用程序上传到服务器(servlet)
EN

Stack Overflow用户
提问于 2013-08-17 16:44:15
回答 1查看 979关注 0票数 0

如何使用servlet将我的Phonegap应用程序的图片上传到服务器?

我的函数如下所示:

代码语言:javascript
复制
function uploadPhoto(imageURI) {
            var options = new FileUploadOptions();
            options.fileKey="file";
            options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
            options.mimeType="image/jpeg";

            var params = new Object();
            params.value1 = "test";
            params.value2 = "param";

            options.params = params;
            options.chunkedMode = true;

            var ft = new FileTransfer();
            ft.upload(imageURI, "http://131.246.37.167**/upload**", win, fail, options);

我的servlet如下所示:

公有类FileUploadHandler扩展HttpServlet {私有最终字符串UPLOAD_DIRECTORY = "C:/uploads";

代码语言:javascript
复制
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    //process only if its multipart content
    if(ServletFileUpload.isMultipartContent(request)){
        try {
            List<FileItem> multiparts = new ServletFileUpload(
                                     new DiskFileItemFactory()).parseRequest(request);

            for(FileItem item : multiparts){
                if(!item.isFormField()){
                    String name = new File(item.getName()).getName();
                    item.write( new File(UPLOAD_DIRECTORY + File.separator + name));
                }
            }

           //File uploaded successfully
           request.setAttribute("message", "File Uploaded Successfully");
        } catch (Exception ex) {
           request.setAttribute("message", "File Upload Failed due to " + ex);
        }          

    }else{
        request.setAttribute("message",
                             "Sorry this Servlet only handles file upload request");
    }

    request.getRequestDispatcher("/result.jsp").forward(request, response);

}

}

Der web.xml(Tomcat eclipse)。

代码语言:javascript
复制
.... 

 <servlet>
            <servlet-name>FileUploadHandler</servlet-name>
            <servlet-class>FileUploadHandler</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>FileUploadHandler</servlet-name>
            <url-pattern>**/upload**</url-pattern>
        </servlet-mapping>
....

有谁有主意吗?

迈克尔

EN

回答 1

Stack Overflow用户

发布于 2013-08-21 18:22:45

您可能遗漏了添加服务器端口号和IP地址。

代码语言:javascript
复制
ft.upload(imageURI, "http://131.246.37.167:8080/**/upload**", win, fail, options);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18286870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档