当前位置: 首页 > 知识库问答 >
问题:

我正在尝试使用Alamofire上传一组图像,但出现了错误

吕高昂
2023-03-14

我正在尝试使用Alamofire4.8.2将一组图像上传到服务器

以下是函数:

func uploadMultiplePhotos(centreId: Int, imagesArray: [UIImage]) {

    let parameters = ["ec_id": centreId, "uploaded_image": imagesArray] as [String : Any]
    Alamofire.upload(multipartFormData: { (multipartFormData : MultipartFormData) in

        let count = imagesArray.count

        for i in 0..<count{

            multipartFormData.append(imagesArray[i], withName: "photo[\(i)]", fileName: "photo\(i).jpeg", mimeType: "image/jpeg")


        }
        for (key, value) in parameters {

            multipartFormData.append((value as AnyObject).data(using: String.Encoding.utf8.rawValue)!, withName: key)
        }
        print(multipartFormData)
    }, to: storeCentreImageURL) { (result) in

        switch result {
        case .success(let upload, _ , _):

            upload.uploadProgress(closure: { (progress) in

                print("uploding: \(progress.fractionCompleted)")
            })

            upload.responseJSON { response in

                print(response.result.value!)

            }

        case .failure(let encodingError):
            print("failed")
            print(encodingError)

        }
    }

}

在下面的行中获取错误:

multipartFormData.append(imagesArray[i], withName: "photo[\(i)]", fileName: "photo\(i).jpeg", mimeType: "image/jpeg")

无法使用类型为“(UIImage,withName:String,fileName:String,mimeType:String)”的参数列表调用“append”

共有1个答案

刘令
2023-03-14

您需要将图像转换为数据

imagesArray.indices.forEach {
  multipartFormData.append(imagesArray[$0].jpegData(compressionQuality:0.8)!, withName: "photo[\($0)]", fileName: "photo\($0).jpeg", mimeType: "image/jpeg")
}
 类似资料:
  • 我正试图用Alamofire将图像上传到服务器,但我的代码不起作用。这是我的代码: 这是urlRequestWithComponents方法: 这就是我在控制台得到的: 请求{URL:http://tranthanhphongcntt.esy.es/task_manager/IOSFileUpload/ }响应可选({URL:http://tranthanhphongcntt.esy.es/tas

  • 我正在尝试使用ajax php和jquery上传图像,我在这里做错了什么。应在不刷新页面的情况下上载图像。我试过上面的代码。如果你看到任何问题,请帮忙!! 问题是我想将上传的文件移动到上传文件夹并将图像名称作为BLOB插入数据库。

  • 这里是欧元警告:move_uploaded_file(图片//489452.jpg):未能打开流: /Applications/XAMPP/xamppfiles/htdocs/ncs_project/test.php拒绝7行的许可 警告:move_uploaded_file():无法将“/Applications/XAMPP/xamppfiles/temp/PHP 5 kvoow”移动到第7行的/

  • 请帮帮我 ****这是我的密码**** ============================================================================================================================= 警告:无法获取字符串,仍要继续信息:[debug]执行cmd:c:\users\santo\appdata\

  • 问题内容: 我正在尝试使用ESAPI.jar为我的Web应用程序提供安全性。基本上我刚刚开始使用ESAPI.jar。但是问题是我什至无法使用ESAPI运行简单的程序。小代码段是: 我收到此错误: 我尝试将3个ESAPI属性文件复制到我的源文件夹中,并在构建路径上进行配置,但是仍然没有成功。我尝试了许多排列和组合都无济于事。 请指导我。 属性文件的内容为: 问题答案: ESAPI.propertie

  • 错误为:无法获取项目:在“https://dynamodb.us-east-1.amazonaws.com”上执行“GetItem”时出错;AWS HTTP错误:客户端错误:导致响应:{"__type":"com.amazon.coral.validate#ValidationException","消息":"提供的键元素与架构不匹配"(截断...)ValidationException(客户端)