我不确定我是否只是误解Alamofire处理图像的方式,但如果我将JPG图像上传到web服务,它似乎首先要求我将其转换为TIFF作为NSData上传。
在OSX应用程序中通过Swift上传时,有没有办法保留原始格式?
let imageData = image.TIFFRepresentation
Alamofire.upload(.POST, endpoint, multipartFormData: { (multipartFormData) in
multipartFormData.appendBodyPart(data: imageData!, name: "file", fileName: "file.jpg", mimeType: "image/jpeg")
答案 0 :(得分:0)
Alamofire并不关心数据参数中的字节是什么 - 它按原样上传它们。
您可以轻松地执行以下操作:https://stackoverflow.com/a/17504245/3937
注意:这不是保留原始格式。 NSImage是未压缩的图像数据。并且... JPEG是有损的,因此这不完全是图像数据。
如果你有一个原始的JPEG(让我们说在一个文件中),你可以从该文件创建NSData,而不是创建一个NSImage对象。