0

AndroidからサービスWCFに画像を送信する必要があります。

私のアンドロイド機能:

public void uploadPicture() throws ClientProtocolException, IOException
{


    DefaultHttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost(SERVICE_URL_UPLOAD_PICTURE+"image24.png");

    ResponseHandler<String> responseHandler = new BasicResponseHandler();

    File myfile = new File(Environment.getExternalStorageDirectory() + "/Documentation/wallpaper-3.jpg"); 

    try{
    MultipartEntity entity = new MultipartEntity();
    entity.addPart("image", new FileBody(myfile, "image/png"));
    httppost.setEntity(entity);

    String responseString = httpclient.execute(httppost, responseHandler);


    }
    catch(IOException e)
    {
        e.printStackTrace();
    }

}

およびサービス WCF の操作契約

[OperationContract]
    [WebInvoke(
        Method = "POST",
        UriTemplate = "/UploadImage/{filename}")]
    void UploadImage(string filename, System.IO.Stream image);

そしてWCFでの私の機能

public void UploadImage(string filename, System.IO.Stream image)
    {
        FileStream fileToUpload = new FileStream("C:\\FileUpload\\" + filename, FileMode.Create);
        byte[] bytearray = new byte[1000000];

        int bytesRead, totalBytesRead = 0;
        do
        {
            bytesRead = image.Read(bytearray, 0, bytearray.Length);

            totalBytesRead += bytesRead;
        } while (bytesRead > 0);


        fileToUpload.Write(bytearray, 0, bytearray.Length);
        fileToUpload.Close();
        fileToUpload.Dispose();
    }

とても簡単だと思いますが、画像が保存されているのを見ると、ウィンドウは画像が間違っていると言っています。

何か案が?

4

0 に答える 0