Ruby on rails 轨道5+;Carrierwave从手机上传图像?
我编写了一个rails 5应用程序,其中包含一个api,移动应用程序可以调用该api通过base64编码的图像发送,然后使用Carrierwave gem上传到服务器。当我用Postman测试它时,端点工作得非常好。但当我试图上传一张用手机摄像头拍摄的照片时(无论是直接从应用程序还是通过邮递员发送),都失败了。Carrierwave只是不保存图像。有人知道为什么吗?我能做些什么 imageuploader.rbRuby on rails 轨道5+;Carrierwave从手机上传图像?,ruby-on-rails,mobile,carrierwave,Ruby On Rails,Mobile,Carrierwave,我编写了一个rails 5应用程序,其中包含一个api,移动应用程序可以调用该api通过base64编码的图像发送,然后使用Carrierwave gem上传到服务器。当我用Postman测试它时,端点工作得非常好。但当我试图上传一张用手机摄像头拍摄的照片时(无论是直接从应用程序还是通过邮递员发送),都失败了。Carrierwave只是不保存图像。有人知道为什么吗?我能做些什么 imageuploader.rb class ImageUploader < CarrierWave::Uplo
class ImageUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
storage :file
def store_dir
"uploads/#{mounted_as}/#{model.class.to_s.underscore}/#{model.id}"
end
def scale(width, height)
process :resize_to_fit => [width, height]
end
def extension_whitelist
%w(jpg jpeg gif png)
end
end
class ImageUploader[宽度、高度]
结束
def扩展_白名单
%w(jpg jpeg gif png)
结束
结束
model.rb
class Log < ApplicationRecord
belongs_to :user, class_name: 'User', foreign_key: 'user_id'
belongs_to :reward, class_name: 'Reward', foreign_key: 'reward_id'
mount_base64_uploader :image, ImageUploader
end
类日志
controller.rb
class Api::V1::UsersController < Api::V1::BaseController
def log
@child = User.find(params[:id])
unless @child.parent_id.nil?
Log.create(user: @child, reward_id: params[:reward_id], image: params[:image] )
end
head :ok
end
end
class Api::V1::UsersController
end原来是一个错误的base64字符串。没有前缀或mime类型。我发誓我查过了 你能给我看看密码吗?最近我从手机上传了CarrierWave图像,没有发现任何问题。可能是内存问题。@artgb我不是移动应用程序开发人员,但我添加了服务器代码。我们用一个小图像进行了测试。你认为问题出在移动端吗?你能给我看看服务器端日志文件的内容吗?我认为这不是移动端的问题。@artgb,我觉得很愚蠢,但字符串没有前缀或mime类型。我发誓,我检查的第一件事是字符串可以被解码。