Ruby 上传照片的API
我想为android移动应用程序的rails应用程序中上传照片创建API 我不知道如何为照片上传创建APIRuby 上传照片的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 我尝试了上面的代码来更新配置文件图片,但它引发了以下异常
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