Я хочу загрузить несколько изображений из j2me в сервлет - PullRequest
0 голосов
/ 29 июля 2010

Пока я загружаю несколько изображений в j2me в сервлет, я могу получить первое изображение в сервлете, но не могу получить второе изображение. что-то не так в моем коде? не могли бы вы предложить

Это мой код.

// For First Image uploading

String message1 = "";
            message1 += "-----------------------------4664151417711" + CrLf;
            message1 += "Content-Disposition: form-data; name=\"image1\"; filename=\"" + FILE1 + "\"" + CrLf;
            message1 += "Content-Type: image/jpeg" + CrLf;
            message1 += CrLf;

            // the image is sent between the messages ni the multipart message.

            String message2 = "";
            message2 += CrLf + "-----------------------------4664151417711--" + CrLf;               

            conn.setRequestProperty("Content-Type", "multipart/form-data; boundary=---------------------------4664151417711");
            // might not need to specify the content-length when sending chunked data.
            // conn.setRequestProperty("Content-Length", String.valueOf((message1.length() + message2.length() + imgData.length)));

            System.out.println("open os");
            os = conn.openOutputStream();

            System.out.println(message1);
            os.write(message1.getBytes());




            // SEND THE IMAGE
            int index = 0;
            int size = 1024;
            do{
                System.out.println("write:" + index);
                if((index+size)>imgData1.length){
                    size = imgData1.length - index; 
                }
                os.write(imgData1, index, size);
                index+=size;
                progress(imgData1.length, index); // update the progress bar.

            }while(index<imgData1.length);



// For Second Image uploading


message1 = "";
            message1 += "-----------------------------4664151417711" + CrLf;
            message1 += "Content-Disposition: form-data; name=\"image2\"; filename=\"" + FILE2 + "\"" + CrLf;
            message1 += "Content-Type: image/jpeg" + CrLf;
            message1 += CrLf;

            // the image is sent between the messages ni the multipart message.

            message2 = "";
            message2 += CrLf + "-----------------------------4664151417711--" + CrLf;               

            conn.setRequestProperty("Content-Type", "multipart/form-data; boundary=---------------------------4664151417711");
            // might not need to specify the content-length when sending chunked data.
            // conn.setRequestProperty("Content-Length", String.valueOf((message1.length() + message2.length() + imgData.length)));


            System.out.println(message1);
            os.write(message1.getBytes());




            // SEND THE IMAGE
            int index = 0;
            int size = 1024;
            do{
                System.out.println("write:" + index);
                if((index+size)>imgData2.length){
                    size = imgData2.length - index; 
                }
                os.write(imgData2, index, size);
                index+=size;
                progress(imgData2.length, index); // update the progress bar.

            }while(index<imgData2.length);

1 Ответ

0 голосов
/ 30 июля 2010

Работает нормально, если я изменю код, как показано ниже

 conn.setRequestProperty("Content-Type", "multipart/form-data; boundary=---------------------------4664151417711"); 

   os = conn.openOutputStream(); 
   os.write(message1.getBytes()); 

// Для загрузки первого изображения

String message1 = ""; 
message1 += "-----------------------------4664151417711" + CrLf; message1 += "Content-Disposition: form-data; name=\"image1\"; filename=\"" + FILE1 + "\"" + CrLf; message1 += "Content-Type: image/jpeg" + CrLf; message1 += CrLf;

os.write(message1.getBytes());


    // SEND THE IMAGE 
    int index = 0; 
    int size = 1024; 
    do{ 
        System.out.println("write:" + index); 
        if((index+size)>imgData1.length){ 
            size = imgData1.length - index;  
        } 
        os.write(imgData1, index, size); 
        index+=size; 
        progress(imgData1.length, index); // update the progress bar. 

    }while(index<imgData1.length); 

// Для загрузки второго изображения

String message2 = ""; 
message2 += "-----------------------------4664151417711" + CrLf; 
message2 += "Content-Disposition: form-data; name=\"image2\"; filename=\"" +    FILE2 + "\"" + CrLf; 
message2 += "Content-Type: image/jpeg" + CrLf; message1 += CrLf;

     os.write(message2.getBytes());


    // SEND THE IMAGE      
    //int index = 0;      
    int size = 1024;      
    do{      
        System.out.println("write:" + index);      
        if((index+size)>imgData2.length){      
            size = imgData2.length - index;       
        }      
        os.write(imgData2, index, size);      
        index+=size;      
        progress(imgData2.length, index); // update the progress bar.      

    }while(index<imgData2.length);      


  String message3 = "\r\n-----------------------------4664151417711--\r\n";         
    os.write(message3.getBytes());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...