Ruby on rails 轨道5+;Carrierwave从手机上传图像?

Ruby 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

我编写了一个rails 5应用程序,其中包含一个api,移动应用程序可以调用该api通过base64编码的图像发送,然后使用Carrierwave gem上传到服务器。当我用Postman测试它时,端点工作得非常好。但当我试图上传一张用手机摄像头拍摄的照片时(无论是直接从应用程序还是通过邮递员发送),都失败了。Carrierwave只是不保存图像。有人知道为什么吗?我能做些什么

imageuploader.rb

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类型。我发誓,我检查的第一件事是字符串可以被解码。