我從相機捕獲圖像並將圖像轉換爲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. 從應用程序發送圖像到網絡服務器
- 2. 從服務器發送圖像到Android應用程序
- 3. 從服務器發送消息到iOS應用程序
- 4. 從ios應用程序發送短信到服務器
- 5. 從服務器手動發送msg到iOS應用程序
- 6. 將LocalStorage發送到服務器端的正確方法php
- 7. 從IOS發送映像到服務器
- 8. 將服務發送到WPF應用程序的好方法
- 9. 從ios應用程序發送對象數據到服務器應用程序
- 10. 從ios應用程序上傳圖像到服務器
- 11. 將廣播意圖從服務發送到應用程序類
- 12. Android-將數據從應用程序發送到燈服務器
- 13. XCode將圖像發送到服務器
- 14. Android將圖像發送到服務器
- 15. Ajax將圖像發送到服務器
- 16. 將多個圖像發送到服務器的問題 - iphone應用程序
- 17. 如何將數據從iOS應用程序發送到http服務器
- 18. 無法從服務器應用程序發送消息到GCM服務器
- 19. 從離子應用程序發佈圖像到PHP服務器
- 20. 將圖像從遠程服務器發送到手機
- 21. iOS應用程序將數據發送到Rest API服務
- 22. 從iOS應用程序發送參數到SOAP ASMX服務
- 23. Java HTTP服務器實現無法正確發送圖像
- 24. 如何發送推送通知從服務器到iOS應用程序
- 25. Java服務器到iOS應用程序流:不正確
- 26. 將圖像文件數據從C#windows應用程序發送到WCF服務
- 27. 將圖像從drawable發送到另一個應用程序/服務
- 28. 如何從服務器實時發送圖像到Android應用程序
- 29. 從android應用程序將圖像上傳到服務器
- 30. 將消息從服務器推送到Android應用程序的有效方法
通過base64發送圖像是不可取的,它需要很多時間才能上傳。使用Multipart進行上傳。通過此鏈接http://stackoverflow.com/questions/29623187/upload-image-with-multipart-form-data-ios-in-swift – Madhu
您可以使用多部分格式發送圖像。 –