我正在尝试使用 Remotipart gem 在我的 Rails 应用程序中通过 Ajax 上传文件。我可以看到正在发布图像数据,但是如何将该数据转换为服务器上的实际图像?
似乎应该很容易,就像我应该能够指定应放置图像的默认位置,但我找不到任何描述如何处理此问题的参考。
我已经下载并运行了测试应用程序,但它只将文件名返回到屏幕。据我所知,该文件没有保存在任何地方。
我确定我遗漏了一些明显的东西,但是什么?
我正在尝试使用 Remotipart gem 在我的 Rails 应用程序中通过 Ajax 上传文件。我可以看到正在发布图像数据,但是如何将该数据转换为服务器上的实际图像?
似乎应该很容易,就像我应该能够指定应放置图像的默认位置,但我找不到任何描述如何处理此问题的参考。
我已经下载并运行了测试应用程序,但它只将文件名返回到屏幕。据我所知,该文件没有保存在任何地方。
我确定我遗漏了一些明显的东西,但是什么?
我在另一个 SO 发布的第一条评论中找到了答案的核心,我能够根据我的需要对其进行调整。
这是我正在使用的代码(同样,改编自另一篇文章):
if remotipart_submitted?
filename = params[:item][:image].original_filename
extension = filename.split('.').last
image_file = Tempfile.new(filename)
# Save to temp file
File.open(image_file, 'wb') do |f|
f.write params[:item][:image].read
end
# Now you can do your own stuff
# image_file.path is a string containing the path to your new file
也许这将有助于未来的访客。