2010-07-24 98 views
0

我創建了一個iPhone應用程序,我目前正在開發一個Web應用程序,主要目標是讓iPhone收集數據,然後將數據上傳到web應用程序,以便用戶可以查看和打印收集到的數據,數據上傳完成後將從iphone上刪除。從iPhone應用程序傳輸圖像到在線網絡應用程序

現在,我有圖像存儲在iphone的文件系統和保存在coreData中的路徑,我編寫了導出代碼,將所有數據從coredata中提取出來,並將圖像編碼爲base64字符串,並創建一個易於傳輸的json文件。所以現在這個由於圖像編碼而導致的json文件可能變得非常大,並且通過電子郵件發送它可能在大小約15MB後不可能實現。

所以我的問題實際上是兩個方面,將這些圖像與其相關數據傳輸到Web應用程序的最佳方法是什麼,其次,如果我使用base64方式,我將如何將其轉換回png文件保存在Web服務器文件系統上並將路徑保存到mysql數據庫。我真的很希望在上傳過程中發生這一切。我忘了提及我可以將這個JSON文件傳輸到用戶計算機上(以防萬一郵件大小太大),然後用戶將訪問網站並上傳它。

Web應用程序正在寫入RUBY。

感謝您的任何建議。 iAm -

+0

爲什麼你想要通過用戶計算機,而不是直接從iOS設備發送文件到Web應用程序? – vikingosegundo 2010-07-24 14:09:56

+0

我不想,我想直接從手機上的Web應用程序。讓我看看你說的是什麼並回到你的 – creativeKoder 2010-07-24 14:48:27

回答

0

我想,你不需要使用json,而是一個HTTP-Postrequest。我建議使用ASIHttpRequest,看到自己的章"Sending a form POST with ASIFormDataRequest"

發表評論迴應

假設你有一個NSArray中的文件路徑稱爲文件,這應該做的伎倆(未經測試

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 
for (NSString *s in files){ 
    [request setFile:s forKey:[NSString stringWithFormat:@"file_%@", [files indexOfObject:s]]]; 
} 

編輯

也許你應該請檢查"Streaming request bodies directly from disk"

+0

你知道這個方法是否可以處理批量上傳,可能每行都有20行數據,我希望能夠上傳一個json文件並擁有web應用程序處理數據。我喜歡你給出的方法,只需要知道它是否可以處理批量加載,在我的iPad上使用iam,而不是在計算機上進行測試,所以如果你知道離手的話...... – creativeKoder 2010-07-24 14:57:20