В моей галерее есть изображения .gif, я хочу загрузить это изображение GIF с помощью Alamofire, я смог загрузить изображение .png, jpg, jpeg, но когда я пытаюсь загрузить изображение gif, оно загружается как обычное изображение .
Пожалуйста, найдите мой код
func imagePickerController(_ picker: UIImagePickerController,didFinishPickingMediaWithInfo info: [String : Any])
{
let imageURL = info[UIImagePickerControllerReferenceURL] as! NSURL
//userDefaultsObj.setValue("", forKey: "imageURL")
let imageName = imageURL.lastPathComponent
let imagenamearray = imageName?.components(separatedBy: ".")
self.Imageextension = (imagenamearray?.last)!.lowercased()
var chosenImage = info[UIImagePickerControllerEditedImage] as! UIImage
var resizedImg = self.imageResizeFunction(resizeImage: chosenImage)
let array1 = [UInt8](tmpImage!)
print("Resized Value:\(array1.count/1024)")
if (self.Imageextension == "gif")
{
selectedimgview.image = info[UIImagePickerControllerOriginalImage] as? UIImage
}else
{
selectedimgview.image = resizedImg//chosenImage
}
selectedimgview.contentMode = .scaleToFill
self.dismiss(animated: true, completion: nil)
}
загрузка кода с использованием Alamofire
Alamofire.upload(multipartFormData: { (multipartFormData) in
if imagepresent
{
if(imageextension == "jpg")
{
multipartFormData.append(UIImageJPEGRepresentation(imgparameters["fileName"] as! UIImage, 0.5)!, withName: "file", fileName: "swift_file.\(imageextension)", mimeType: "image/\(imageextension)")
}
else if(imageextension == "gif")
{
multipartFormData.append(UIImagePNGRepresentation(imgparameters["fileName"] as! UIImage)!, withName: "file", fileName: "swift_file.\(imageextension)", mimeType: "image/\(imageextension)")
}
else
{
multipartFormData.append(UIImagePNGRepresentation(imgparameters["fileName"] as! UIImage)!, withName: "file", fileName: "swift_file.\(imageextension)", mimeType: "image/\(imageextension)")
}
}
for (key, value) in postparams {
multipartFormData.append((value as AnyObject).data(using: String.Encoding.utf8.rawValue)!, withName: key)
}
}, to:requestURL,method : methodType,headers : Header)
{ (result) in
switch result {
case .success(let upload, _, _):
upload.uploadProgress(closure: { (Progress) in
print("Upload Progress: \(Progress.fractionCompleted)")
})
upload.responseJSON { response in
self.handleResponse(response: response, completionBlockX: completionBlock)
print(response.request as Any) // original URL request
}
case .failure(let encodingError):
//self.delegate?.showFailAlert()
print(encodingError)
}
}
Выше приведен код для выбора изображения из галереи и загрузки его на сервер. Этот код отлично работает для .png, .jpg, .jpeg, а не для .gif при загрузке .gif изображения, которое он показывает как нормальное изображение.
Спасибо за быстрый ответ.