我從相機捕獲圖像並將圖像轉換爲base64格式。將圖像發送到服務器需要更多時間。如果沒有互聯網連接,我將它存儲到本地數據庫,一旦我獲得互聯網連接,我想發送多個圖像到服務器。從應用程序發送圖像到服務器的最佳方式是什麼?將圖像從iOS應用程序發送到服務器的正確方法
0
A
回答
-1
您可以爲多要求如下,然後用你的NSURLSession
NSString *boundary = [NSString stringWithFormat:@"Boundary-%@", [[NSUUID UUID] UUIDString]];
// configure the request
NSString *urlString = YOUR_URL;
NSURL *url =[NSURL URLWithString:urlString];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
[request setHTTPMethod:@"POST"];
// set content type
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary];
[request setValue:contentType forHTTPHeaderField: @"Content-Type"];
//create body
request.HTTPBody = [self createBodyWithParameters:params paths:@[filePath] fieldName:fieldName boundary:boundary]; //params(NSDictionary) WILL BE YOUR PARAMETERS TO WEB SERVICE
[request setValue:[NSString stringWithFormat:@"%lu",(long)[request.HTTPBody length]] forHTTPHeaderField:@"Content-Lenght"];
+0
此問題標記爲「swift」。你的解決方案可能有價值,但不是用OP所要求的語言編寫的,所以它是無關緊要的。請在Swift中提供答案。謝謝。 – Moritz
1
這一要求你有沒有試過Alamofire?它支持文件上傳。
下面是圖像負載的例子:
public func requestImage(url: String) -> SignalProducer<UIImage, NetworkError> {
return SignalProducer { observer, disposable in
let serializer = Alamofire.Request.dataResponseSerializer()
Alamofire.request(.GET, url)
.response(queue: self.queue, responseSerializer: serializer) {
response in
switch response.result {
case .Success(let data):
guard let image = UIImage(data: data) else {
observer.sendFailed(.IncorrectDataReturned)
return
}
observer.sendNext(image)
observer.sendCompleted()
case .Failure(let error):
observer.sendFailed(NetworkError(error: error))
}
}
}
}
而這一次的例子爲async image load。
相關問題
- 1. 從Ios應用程序發送圖像到web api服務
- 2. 從服務器發送圖像到Android應用程序
- 3. 從應用程序發送圖像到網絡服務器
- 4. 將廣播意圖從服務發送到應用程序類
- 5. XCode將圖像發送到服務器
- 6. Android將圖像發送到服務器
- 7. 如何將數據從iOS應用程序發送到http服務器
- 8. 將多個圖像發送到服務器的問題 - iphone應用程序
- 9. 無法從服務器應用程序發送消息到GCM服務器
- 10. 從iOS應用程序發送參數到SOAP ASMX服務
- 11. Java HTTP服務器實現無法正確發送圖像
- 12. Java服務器到iOS應用程序流:不正確
- 13. 將圖像文件數據從C#windows應用程序發送到WCF服務
- 14. 將圖像從drawable發送到另一個應用程序/服務
- 15. 如何從服務器實時發送圖像到Android應用程序
- 16. 從android應用程序將圖像上傳到服務器
- 17. 從ios發送圖像到服務器/數據庫
- 18. 將圖像/音頻從iPhone上傳到服務器無法發送大圖像
- 19. 當我將圖像從我的應用程序發送到服務器時發生錯誤
- 20. 塗料應用程序無法發送到本地服務器
- 21. 從應用程序發送字符串到服務器
- 22. 從j2me應用程序發送XML數據到服務器
- 23. 從Android應用程序發送照片到服務器端
- 24. 發送數據從服務器到Android應用程序
- 25. 從服務器發送命令到android應用程序
- 26. 將數據從Android發送到服務器的最快方法?
- 27. 將圖像上傳到Android應用程序的服務器
- 28. Android應用程序無法將數據發送到遠程服務器
- 29. 從服務器發送彩色圖像
- 30. iOS - 從相同的消息和有效載荷同時發送推送通知到同一服務器的多個應用程序的正確方法
通過base64發送圖像是不可取的,它需要很多時間才能上傳。使用Multipart進行上傳。通過此鏈接http://stackoverflow.com/questions/29623187/upload-image-with-multipart-form-data-ios-in-swift – Madhu
您可以使用多部分格式發送圖像。 –