Rails 3 with Uploadify&回形针

时间:2010-10-24 19:18:33

标签: ruby-on-rails ruby-on-rails-3 paperclip uploadify

此处的任何人都使用了Uploadify&amp ;; Paper_Clip经验?

我想允许用户上传照片:

以下是我的观点:

<input id="fileInput" name="fileInput" type="file" />
    <script type="text/javascript">
        $(document).ready(function() {

            $('#fileInput').uploadify({
                uploader : '/uploadify/uploadify.swf',
                fileDataName : 'photo[file]',
                script : '/photos/upload',
                cancelImg : '/uploadify/cancel.png',
                auto : true,
                scriptData : {
                    '_http_accept': 'application/javascript',
                    '_method': 'put',
                    "<%= key = Rails.application.config.session_options[:key] %>" : "<%= cookies[key] %>",
                    "<%= request_forgery_protection_token %>" : "<%= form_authenticity_token %>"

                }
            });
        });
    </script>

我的控制器:

  def upload
    @photo = Photo.create(params[:file])

    respond_to do |format|
      format.json
    end
  end

我的模特:   #Paperclip的照片   has_attached_file:照片, 。 。 。

问题...当我使用uploadify进行渲染时,如果出现错误,则会显示在日志中:

Started POST "/photos/upload" for 127.0.0.1 at Sun Oct 24 12:16:38 -0700 2010
  Processing by PhotosController#upload as HTML
  Parameters: {"photo"=>{"file"=>#<File:/var/folders/lF/lF0Ne5vGFj44kV54W3zBdU+++TI/-Tmp-/RackMultipart20101024-34605-sqvg1m-0>}, "_http_accept"=>"application/javascript", "Filename"=>"whiteboard_2.jpg", "folder"=>"/projects/3/photo_albums/", "authenticity_token"=>"l9TqKh1Q7/8riUjuPMj7QtiJwNNxvBKfENnTx/ijP3E=", "Upload"=>"Submit Query", "_cline_session"=>"BAh7CCIQX2NzcmZfdG9rZW4iMWw5VHFLaDFRNy84cmlVanVQTWo3UXRpSndOTnh2QktmRU5uVHgvaWpQM0U9Ig9zZXNzaW9uX2lkIiVmYjYyYmM5YjU0YTBkMWMwNWZmMDQ3NmE1NzU1YTE1YSIZd2FyZGVuLnVzZXIudXNlci5rZXlbByIJVXNlcmkG--f5b0cb3a6b775b2cc15eb30b20aa3c3f558b0412"}
  User Load (0.2ms)  SELECT "users".* FROM "users" WHERE ("users"."id" = 1) LIMIT 1
  SQL (0.4ms)  INSERT INTO "photos" ("created_at", "description", "photo_content_type", "photo_file_name", "photo_file_size", "photo_updated_at", "title", "updated_at", "user_id") VALUES ('2010-10-24 19:16:39.042342', NULL, NULL, NULL, NULL, NULL, NULL, '2010-10-24 19:16:39.042342', NULL)
[paperclip] Saving attachments.
Completed 406 Not Acceptable in 50ms

任何想法为什么Rails没有获取上传的文件?

由于

2 个答案:

答案 0 :(得分:4)

我想这就是你要找的东西:http://github.com/websymphony/Rails3-Paperclip-Uploadify

答案 1 :(得分:1)

由于您无法通过正常的AJAX请求上传图像(请参阅uploading a file via ajax with php),因此paperclip gem会将请求保留为标准的“text / html”并将文件发送出去。

如果您的控制器中有HTML响应,您会看到它发送回HTML,这是您的浏览器请求的。检查Firefox LiveHTTPHeaders,将正常:远程调用与回形针附件进行比较。

相关问题