2011-02-24 38 views
3

我在MonoTouch中取得的iPhone/iPad的應用程序,這是已經在蘋果商店。但仍然有一個問題尚未完全解決。我需要能夠將大文件上傳到我們的服務器。尺寸可以從2到100 Mb不等。我曾嘗試幾種方法:幫助iOS應用崩潰與「內存不足」

  1. 使用SOAP的Web服務,發送的字節數組:1)發送整個文件。墜毀。 b)以1Mb的塊分割。在10-15個大塊之後墜毀(變化)。

  2. 使用WebClient.UploadFile。大部分時間用較小的文件工作< 5 Mb,但時不時會崩潰,並且大於10-12 Mb的任何事情都會崩潰。在服務器上,我有一個接收通過POST

這裏發送的信息是從設備的實際代碼aspx頁面:

WebClient wc = new WebClient(); 
string sLFN = sLocalFileName; 
FileInfo fi = new FileInfo (sLFN) 
string sUri = getUri(); 
byte [] f = wc.UploadFile (sUri, sLFN) 

我認爲,iPhone的內存容量/ iPad是直接影響到這一點的東西。

有誰有任何recomendation或者說,我應該遵循建議的做法?

在此先感謝

埃德加Herrador

+0

嗨埃德加。你有沒有解決這個問題。因爲我在其中一個應用程序中使用* WebClient.UploadFile *,並且它與大多數客戶端正常工作,但是一個客戶端報告應用程序在發送文件時發生崩潰。發送的文件是在* iPad *上拍攝的照片,因此它們的尺寸遠遠小於5Mb,但它仍然出錯。 – BruceHill 2013-08-09 08:33:37

回答

1

我建議採用流&組塊。傳遞大文件時可能會超出消息大小。

,能得到任何異常?

+0

這是我的第一種方法:以1Mb大塊分割。 10-15大塊後墜毀。 – 2011-02-24 19:11:58

+0

嗨,埃德加,你有沒有例外?你的服務器端處理文件的方法是什麼?它是基於WCF嗎?你使用流媒體嗎? – Maciek 2011-02-25 06:19:24

0

你試過WCF流​​(http://msdn.microsoft.com/en-us/library/ms733742.aspx)?