1
モバイルアプリがCarrierwave gemを使用して、base64でエンコードされた画像をサーバーにアップロードするために呼び出すことができるapiを持つrails 5アプリを作成しました。エンドポイントは、私がPostmanでテストするときにうまく機能します。しかし、モバイルカメラで撮影した画像をアップロードしようとすると(アプリか郵便配達員から直接送信されたものであっても)、失敗します。 Carrierwaveは画像を保存しません。なぜ誰も私がそれについて何ができるか考えている人はいますか?Rails 5 + 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
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
エンド
私にコードを表示できますか?最近、私は携帯電話からCarrierWave画像をアップロードしましたが、問題は見つかりませんでした。 –
メモリに問題があります。 –
@artgb私はモバイルアプリの開発者ではありませんが、私は自分のサーバーコードを追加しました。我々は小さな画像でテストを行った。問題はモバイル側にあると思いますか? – BooBailey