【发布时间】:2023-03-26 19:17:02
【问题描述】:
fun UploadRequest()
{
if (photoArray.count > 0)
{
for var i=0 ; i < photoArray.count; i++
{
print(photoArray)
let image = (photoArray[i] as? UIImage)!
let imageData = UIImagePNGRepresentation(image)
if imageData != nil{
let request = NSMutableURLRequest(URL: NSURL(string:"MY_URL")!)
_ = NSURLSession.sharedSession()
request.HTTPMethod = "POST"
let boundary = NSString(format: "---------------------------14737809831466499882746641449")
let contentType = NSString(format: "multipart/form-data; boundary=%@",boundary)
request.addValue(contentType as String, forHTTPHeaderField: "Content-Type")
let body = NSMutableData()
body.appendData(NSString(format: "\r\n--%@\r\n", boundary).dataUsingEncoding(NSUTF8StringEncoding)!)
body.appendData(NSString(format:"Content-Disposition: form-data; name=\"profile_photo\"; filename=\"(Image_Name)\"\\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
body.appendData(NSString(format: "Content-Type: application/octet-stream\r\n\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
body.appendData(imageData!)
body.appendData(NSString(format: "\r\n--%@\r\n", boundary).dataUsingEncoding(NSUTF8StringEncoding)!)
request.HTTPBody = body
do {
let returnData = try NSURLConnection.sendSynchronousRequest(request, returningResponse: nil)
let returnString = NSString(data: returnData, encoding: NSUTF8StringEncoding)
print("returnString \(returnString)")
}
catch let error as NSError {
print(error.localizedDescription)
}
}
task.resume()
}
}
}
我使用此代码,但它不起作用。给我文件位置空。 在这里,我选择图像并存储在数组中,然后从数组上传图像。 我正在使用 .php 网址发送我的图片。
【问题讨论】:
-
上传图片最好使用
Alamofire这样的第三方库。 github.com/Alamofire/Alamofire -
我已经尝试过 Alamofire 但我什么也没得到,因为在每个解决方案中我都需要使用我没有的 API 密钥。我只有在那里上传图片的 URL。是否可以仅使用 URL 在 Alamofire 的服务器上上传图像??? @KrishnaChaitanyaAmjuri
-
有可能。请检查我的答案。如果它不起作用,请告诉我
-
框架问题。没有这样的模块“Alamofire”。尝试许多解决方案但不起作用。你有没有更好的解决方案来解决它?我正在使用 Xcode 7.2。@KrishnaChaitanyaAmjuri
-
您是使用 CocoaPods 添加 Alamofire 还是尝试直接添加?
标签: ios swift nsurlconnection