2015-05-03 128 views
0

我想上傳從圖庫或活動圖片(相機捕獲任務)的圖像與一些參數; x =「某個字符串」,y =「某個字符串」,z =「某個整數」,uploadimage =文件標籤的名稱。圖像上傳到服務器在Windows Phone8應用程序

任何人都可以幫我嗎?

+1

你想在哪裏上傳圖片..?你有任何webService準備好,你只是想要一個WebService調用的工作實現上傳圖像文件到您的服務器..?讓你的問題更清楚.. –

回答

0

爲WP8上傳圖片很痛苦。我所遵循的許多例子都過時了,這花了我數天的時間來研究,最後得到了一個工作。有幾種上傳方式:

1)將圖像轉換爲字符串,然後可以通過HTTP請求發送圖像轉換後的字符串。我對Android使用了這種方法,但還沒有嘗試過WP。 2)通過FTP上傳圖像,通過HTTP上傳文本數據。

0

您有3種選擇可以將任何File上傳到服務器。

  • 轉換文件到Stream - 推薦方式
  • 轉換文件到ByteArray
  • 轉換文件到String

之後,你可以使用HttpClient package做出POST request到服務器。以下是通過將FileUpload轉換爲Stream來演示FileUpload的代碼。

代碼:

public async void methodToUploadFile() 
    { 
     StorageFile file = await StorageFile.GetFileFromPathAsync("Assets/MyImage.png"); 
     // var fileBytes = await GetBytesAsync(file); 

     HttpClient client = new HttpClient(); 
     // give the server URI here 
     Uri requestUri = new Uri("Full Server URI", UriKind.Absolute); 

     MultipartFormDataContent formdata = new MultipartFormDataContent(); 
     formdata.Add(new StringContent("some string"), "x"); 
     formdata.Add(new StringContent("some string"), "y"); 
     formdata.Add(new StringContent("some integer"), "z"); 

     formdata.Add(new StreamContent(await file.OpenStreamForReadAsync()), "file", "MyImage.png"); 
     // formdata.Add(new ByteArrayContent(fileBytes), "file", "MyImage.png"); 

     // Make a POST request here 
     var res = await client.PostAsync(requestUri, formdata); 
    } 

希望這有助於..!

+0

謝謝Keval。你的代碼幫了我很多。我做了很少的修改。 – anonyms

+0

我會嘗試發佈我的代碼,這也會幫助他人。 – anonyms

相關問題