相关疑难解决方法(0)

使用Paperclip保存文件而不上传

我有一个简短的问题.是否可以保存文件而不通过表单实际上传?

例如,假设我正在查看电子邮件中的附件,我想使用回形针保存它们.我该怎么做呢?我是否需要在某处手动调用save_file(或类似的东西)?

任何帮助将非常感激!

ruby-on-rails paperclip

33
推荐指数
2
解决办法
2万
查看次数

使用Paperclip和Multipart请求将文件上载到Rails JSON API服务器

我想将文件从Android客户端上传到Rails JSON API服务器.

我正在从Android客户端发送一个Multipart/form请求,如下所示:

Content-Type: multipart/form-data; boundary=d99ArGa2SaAsrXaGL_AdkNlmGn2wuflo5
Host: 10.0.2.2:3000
Connection: Keep-Alive
User-Agent: Apache-HttpClient/UNAVAILABLE (java 1.4)

--d99ArGa2SaAsrXaGL_AdkNlmGn2wuflo5
Content-Disposition: form-data; name="POSTDATA"
Content-Type: application/json; charset=UTF-8
Content-Transfer-Encoding: 8bit

{"tags":["test"],"location_id":1,"post":{"content":"test"}}
--d99ArGa2SaAsrXaGL_AdkNlmGn2wuflo5
Content-Disposition: form-data; name="IMAGEDATA"; filename="testimage.jpg"
Content-Type: image/jpeg
Content-Transfer-Encoding: binary

<BINARY DATA?
--d99ArGa2SaAsrXaGL_AdkNlmGn2wuflo5--
Run Code Online (Sandbox Code Playgroud)

在rails控制器中我用这段代码创建新帖子:

@parsed_json = JSON(params[:POSTDATA])
@post = @current_user.posts.new(@parsed_json["post"]) 
Run Code Online (Sandbox Code Playgroud)

如何使Paperclip从多部分表单中保存附件?

我可以这样做:

if params.has_key?(:IMAGEDATA)
    photo = params[:IMAGEDATA]
    photo.rewind

    @filename = "/tmp/tempfile"
    File.open(@filename, "wb") do |file|
      file.write(photo.read)
    end

    @post.photo = File.open(@filename)
  end
Run Code Online (Sandbox Code Playgroud)

但它看起来不是最佳解决方案,也不会使用多部分请求中传递的文件名.

ruby-on-rails paperclip ruby-on-rails-3

13
推荐指数
2
解决办法
2万
查看次数

标签 统计

paperclip ×2

ruby-on-rails ×2

ruby-on-rails-3 ×1