首页 > 解决方案 > 上传照片API

问题描述

我想为 Android 移动应用程序的 Rails 应用程序创建用于上传照片的 API。

我不知道如何为照片上传创建 API。

def update # scoped to current_user
    @user = @current_user

    @user.update(:portrait => File.open(params[:portrait], 'rb'))

    render action: 'settings'
end

我尝试上面的代码来更新个人资料图片,但它引发了以下异常:

Errno::ENOENT (No such file or directory @ rb_sysopen - https://res.cloudinary.com/hmdmd2cr2/image/upload/c_fill,g_face,h_256,w_256/v1525241327/dy8hbwqjedfhtaaycpza.jpg):

标签: rubyapi

解决方案


您需要将有效路径传递给 File.open a valid 以便它可以写入文件。

尝试

  File.open(Rails.root.join('public', 'uploads', params[:portrait].original_filename), 'wb') do |file|
    file.write(params[:portrait].read)
  end

推荐阅读