Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 上传照片的API_Ruby_Api - Fatal编程技术网

Ruby 上传照片的API

Ruby 上传照片的API,ruby,api,Ruby,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 我尝试了上面的代码来更新配置文件图片,但它引发了以下异常

我想为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):

您需要向文件传递有效路径。请打开有效路径,以便它可以写入文件

试一试


你被困在哪里?第一个问题是什么?@JagdeepSingh我更新了我的问题,请参考并帮助我。@P\M-很明显,当文件位于不同的服务器上时,您试图使用
file
类打开文件,如果您拥有此图像存储服务,请先将文件存储在本地,或者只将文件的URI存储到用户列中。我不知道从系统将文件上载到服务器上时使用什么。错误提示我,您正在将cloudanary上的路径作为字符串传递到
纵向
参数中。如果您想获取该文件并将其作为blob存储在DB中,我建议使用
openURI
来实现。我建议的一种方法不是将blob存储在db中,而是将文件的字符串路径存储为@Surya,或者您可以使用类似gem的未定义的方法“original_filename”来存储#excHow您到底是如何上载文件的。听起来好像你没有使用文件\字段\标签,请看
  File.open(Rails.root.join('public', 'uploads', params[:portrait].original_filename), 'wb') do |file|
    file.write(params[:portrait].read)
  end