简体   繁体   中英

Paperclip::Errors::NotIdentifiedByImageMagickError - Rails app + Swift 2

I am trying to upload a photo from a Swift 2 application, and I am getting Bad Request.

I am using:

  • Amazon EC2
  • Ruby on Rails
  • Paperclip

I am executing this code:

Swift

func convertImageToBase64(image: UIImage) -> String {
   let imageData = UIImagePNGRepresentation(image)
   let base64Encoded = imageData!.base64EncodedStringWithOptions(.Encoding64CharacterLineLength)
   return base64Encoded
}

and then I send the info through a parameter:

let image_str = self.global.convertImageToBase64(self.global.compressForUpload(self.newMediaImage.image!, withHeightLimit:750, andWidthLimit:750))

parameters["spot[image]"] = "data:image/png;base64,\(image_str)"

notice that my headers are:

headers["Accept"] = "application/json"
headers["Content-Type"] = "multipart/form-data"
headers["Access-Control-Request-Method"] = "POST"
headers["Access-Control-Request-Headers"] = "X-Requested-With"

And I get this message error:

I, [2016-01-07T10:11:41.148123 #4490]  INFO -- : Command :: identify -format '%wx%h,%[exif:orientation]' '/tmp/8d777f385d3dfec8815d20f7496026dc20160107-4490-m5y4d3[0]' 2>/dev/null
I, [2016-01-07T10:11:41.152860 #4490]  INFO -- : [paperclip] An error was received while processing: #<Paperclip::Errors::NotIdentifiedByImageMagickError: Paperclip::Errors::NotIdentifiedByImageMagickError>
I, [2016-01-07T10:11:41.153061 #4490]  INFO -- : Command :: identify -format '%wx%h,%[exif:orientation]' '/tmp/8d777f385d3dfec8815d20f7496026dc20160107-4490-m5y4d3[0]' 2>/dev/null
I, [2016-01-07T10:11:41.157503 #4490]  INFO -- : [paperclip] An error was received while processing: #<Paperclip::Errors::NotIdentifiedByImageMagickError: Paperclip::Errors::NotIdentifiedByImageMagickError>
I, [2016-01-07T10:11:41.544868 #4490]  INFO -- : [AWS S3 400 0.378927 0 retries] head_object(:bucket_name=>"api",:key=>"spots/images//original/data.") AWS::S3::Errors::BadRequest AWS::S3::Errors::BadRequest

I, [2016-01-07T10:11:41.917895 #4490]  INFO -- : [AWS S3 400 0.372396 0 retries] head_object(:bucket_name=>"api",:key=>"spots/images//medium/data.") AWS::S3::Errors::BadRequest AWS::S3::Errors::BadRequest

I, [2016-01-07T10:11:42.293064 #4490]  INFO -- : [AWS S3 400 0.374527 0 retries] head_object(:bucket_name=>"api",:key=>"spots/images//thumb/data.") AWS::S3::Errors::BadRequest AWS::S3::Errors::BadRequest

A piece of the image that my rails app receive would be:

lN c32Ov1f9nesG/5nVgRpMz wHT1CrwVQ3dM x3tff cnU xpMdWV9MpX1m5Vi\r\n/VvXv3VdB55EHajBVFfUJ1FRayjVfWt1HXg daAGUw2mGkx1HajrQF0HHlUdeB5g\r\nqvtUHlWlq998H9Gbb/N/o3m7brDr/85PqAPPA0w/4cHWje8janzr379uXOs68KTq\r\nQA2musI qQpbA78Gfl0Hfv06UIOpBlMNpp9VB56q2 yp3vfP p3rz713G/M0wFT/\r\nEe79w9Zvlb/ W2X9G9e/8a9aB54GmOo3jhpMdR2o60BdB55NHajBVFf2Z1PZf9W3\r\ny/S9ql6Far6u399ev vn e3P8J71sAbTPR/YL9241c/ih/8B6/pUu PqOvDvdaAG\r\nU90Y141xXQfqOlDXgUdVB2ow1RXyUVXI u3x398ev mZ1G6oun4/wTauBtMT/NG \r\nqaGqv2/dUNV1oK4Dj7wO1GB65D9QDaEHVhD17103ynUdePR1oAZTXUkffSWt4VzD\r\nua4Dz6sO1GCqwVSDqa4DdR2o68CjqgM1mOoK agqZP1m/LzejOvfu/69b6oDNZhq\r\nMNVgsg7U0Wt1PajbgkdTB2ow1ZXx0VTGm96c6rL6jbquA8 vDtRgqsFUg6muA3Ud\r\nqOvAo6oDNZiee4WsXViP6g/5IOrA37T XX/871o/8wd75jWYnjuY6u//YH mB4FK\r\n/XvUv0ddB17UYKorQd0Q1HWgrgN1HXhUdaAGU10hH1WFrFXH8 vorn/z jdvrgM1\r\nmGow1WCq60BdB o68KjqQA2mukI qgrZ/OZUb9dv03UdeH51oAZTDaYaTHUdqOtA\r\nXQceVR2owVRXyEdVIeu34 f3dlz/5vVv3lwHajDVYKrBVNeBug7UdeBR1YEaTHWF\r\nfFQVsvnNqd6u36brOvD86kANphpMNZjqOlDXgboOPKo6UIOprpCPqkLWb8fP7 24\r\n/s3r37y5DtRgqsFUg6muA3UdqOvAo6oDNZjqCvmoKmTzm1O9fYe36Xry0LoO/2Lt\r\nWA2mX wHrRvyOzTk9W9eN R1HXjUdaAGU11BH3UFrUFbg7auA8 vDtRgqsFUg lX\r\nrQO1i6 u20 0bn/6/135Eixq4JAOAAAAAElFTkSuQmCC

It's working now. The solution was:

I just changed the version of the aws-sdk gem which was < 2 to gem 'aws-sdk', '>= 2.0.0' and it worked pretty well.

Besides that, I re-installed imagemagick on amazon ec2 and Rmagick.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM