0
使用cropit我通過參數獲得了在導軌上的圖像bas64編碼。用回形針上傳base64編碼圖像 - 導軌
image = params['image'].gsub('data:image/jpeg;base64,', '')
decoded_file = Base64.decode64(image)
,然後我保存到Amazon S3與回形針
begin
file = Tempfile.new(['image', '.jpg'])
file.binmode
file.write decoded_file
unless params['image_id']
media_img = Media::Image.new()
media_img.image = file
if media_img.save
render json: {status: 'success'}
else
render json: {status: 'error'}
end
else
img = Media::Image.find(params['image_id'])
img.update_attribute(:image, file)
img.update_attribute(:name, params['image_name'])
render json: {status: 'success'}
end
file.close
ensure
file.unlink
end
的主要問題是,代碼只爲JPEG圖像,因爲我使用GSUB只爲data:image/jpeg;base64,
工作和創建我創造了它視爲檔案時jpg Tempfile.new(['image', '.jpg'])
。那麼,如何處理最佳實踐jpg,jpeg和png?