sende-Parameter beim hochladen der Datei

Ich habe dieses Stück code http://pastebin.com/VrMNuxcv, die erfolgreich uploads einer Datei auf den server von meinem android.

Ich Sie schicken ein paar string-Parameter zusammen mit ihm.

Dafür habe ich

 conn.setRequestProperty("x-myapp-param1", "Parameter 1 text"); 

Auf der server-Seite (Servlet DoPsot Methode)

Ich habe versucht, abrufen der string-parameter von

String userId = request.getParameter("myapp-param1");

Aber die

 userId is null

Mein code in der client-Teil wird unten gegeben:

    URL url = new URL(upLoadServerUri);
            conn = (HttpURLConnection) url.openConnection(); //Open a HTTP
                                     //connection to
                                     //the URL
            conn.setDoInput(true); //Allow Inputs
            conn.setDoOutput(true); //Allow Outputs
            conn.setUseCaches(false); //Don't use a Cached Copy
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Connection", "Keep-Alive");
                conn.setRequestProperty("ENCTYPE", "multipart/form-data");
            conn.setRequestProperty("Content-Type",
                "multipart/form-data;boundary=" + boundary);
            conn.setRequestProperty("file_name", fileName);
            conn.setRequestProperty("x-myapp-param1", "Parameter 1 text"); 
           dos = new DataOutputStream(conn.getOutputStream());
            dos.writeBytes(twoHyphens + boundary + lineEnd);

            dos.writeBytes("Content-Disposition: form-data; name=\"file_name\";filename=\""
                + fileName + "\"" + lineEnd);

                dos.writeBytes(lineEnd);

            bytesAvailable = fileInputStream.available

(); 

Server-code:

response.setContentType("text/html");
        PrintWriter out = response.getWriter();    

        String userId = request.getParameter("myapp-param1");
        String x_user_id = request.getParameter("x-myapp-param1");
        System.out.println("userId getParameter  : "+userId +"x_user_id  :  "+ x_user_id);
        System.out.println("request.getHeaderNames();"+request.getHeaderNames());
        System.out.println("request.getHeaderNames();"+request.getHeaders("x"));


        File filenameImg = null;
        List<FileItem> items = null;
        try {
            items = new ServletFileUpload(new DiskFileItemFactory())
                    .parseRequest(request);
        } catch (FileUploadException e) {
            throw new ServletException("Cannot parse multipart request.", e);
        }

        for (FileItem item : items) {



            if (item.isFormField()) {



                //Process regular form fields here the same way as
                //request.getParameter().
                //You can get parameter name by

                String fieldname = item.getFieldName();       
                String fieldvalue = item.getString(); 
                System.out.println("user_id===fieldname======: "+fieldname);
                //System.out.println("user_id====fieldvalue=====: "+fieldvalue);
                //You can get parameter value by item.getString();
            } else {

                try{
                    //Process uploaded fields here.
                    String filename = FilenameUtils.getName(item.getName());
                    //Get filename.
                    String path = GetWebApplicationPathServlet.getContext().getRealPath("/images");

                    File file =  new File(path,filename);


                    //Define destination file.

                    item.write(file);
                    System.out.println("filename: "+filename);
                    System.out.println("file: "+file);
                    request.setAttribute("image", file);
                    filenameImg = file;
                    //Write to destination file.
                // request.setAttribute("image", filename);
                }
                catch (Exception e) {
                    e.printStackTrace();
                }

            }
        }
InformationsquelleAutor jennifer | 2011-04-04
Schreibe einen Kommentar