1

我正在尝试使用 Remotipart gem 在我的 Rails 应用程序中通过 Ajax 上传文件。我可以看到正在发布图像数据,但是如何将该数据转换为服务器上的实际图像?

似乎应该很容易,就像我应该能够指定应放置图像的默认位置,但我找不到任何描述如何处理此问题的参考。

我已经下载并运行了测试应用程序,但它只将文件名返回到屏幕。据我所知,该文件没有保存在任何地方。

我确定我遗漏了一些明显的东西,但是什么?

4

1 回答 1

2

我在另一个 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

也许这将有助于未来的访客。

于 2012-11-02T19:31:13.580 回答