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();
}
とても簡単だと思いますが、画像が保存されているのを見ると、ウィンドウは画像が間違っていると言っています。
何か案が?