ays*_*110 0 jquery json ruby-on-rails
我有一个奇怪的问题 - 我已经将Jquery-File-Upload演示示例中的代码调整到我的应用程序中,每当我上传图像时,似乎上传尝试发布两次,一次使用JSON,然后一次使用HTML .
JSON Post正常工作,但HTML Post发布了空参数,这会触发错误.
我很困惑,因为我实际上正在复制与演示文件完全相同的文件,开箱即用.我将"上传"模型,控制器,视图和路线添加到我的应用程序中,而我实际上只是运行localhost:3000/uploads中的示例作为完整性测试,并且它无法正常工作.我没有改变演示中的任何代码,所以我不明白为什么它现在突然发射两次.
Started POST "/uploads" for 127.0.0.1 at 2013-11-19 03:21:39 -0500
Processing by UploadsController#create as JSON
Parameters: {"utf8"=>"?", "authenticity_token"=>"SLkjXV0R/pEneunEUzHLOGJ3iKm4KLJgHrAudzWs5v4=",
"upload"=>{"upload"=>#<ActionDispatch::Http::UploadedFile:0x007fbef632acf0
@original_filename="aliceten.png", @content_type="image/png", @headers="Content-
Disposition: form-data; name=\"upload[upload]\"; filename=\"aliceten.png\"\r\nContent-
Type: image/png\r\n", @tempfile=#
<File:/var/folders/sb/1k3xvfvn63d8p11mxry4zh6c0000gq/T/RackMultipart20131119-42740-vi3x5y>>}}
(0.1ms) BEGIN
SQL (0.3ms) INSERT INTO `uploads` (`created_at`, `updated_at`, `upload_content_type`,
`upload_file_name`, `upload_file_size`, `upload_updated_at`) VALUES ('2013-11-19 08:21:39', '2013-11-19 08:21:39', 'image/png', 'aliceten.png', 5947, '2013-11-19 08:21:39')
[paperclip] Saving attachments.
[paperclip] saving /uploads/uploads/000/000/027/original/aliceten.png
[AWS S3 200 0.79522 0 retries]
put_object(:acl=>:public_read,:bucket_name=>"elasticbeanstalk-us-west-2-
859932007099",
:content_length=>5947,:content_type=>"image/png",:data=>Paperclip::UploadedFileAdapter: aliceten.png,:key=>"uploads/uploads/000/000/027/original/aliceten.png")
(0.4ms) COMMIT
Completed 201 Created in 803ms (Views: 0.8ms | ActiveRecord: 0.7ms)
Started POST "/uploads" for 127.0.0.1 at 2013-11-19 03:21:40 -0500
Processing by UploadsController#create as HTML
Parameters: {"utf8"=>"?",
"authenticity_token"=>"SLkjXV0R/pEneunEUzHLOGJ3iKm4KLJgHrAudzWs5v4="}
(0.1ms) BEGIN
SQL (0.2ms) INSERT INTO `uploads` (`created_at`, `updated_at`, `upload_content_type`,
`upload_file_name`, `upload_file_size`, `upload_updated_at`) VALUES ('2013-11-19
08:21:40', '2013-11-19 08:21:40', NULL, NULL, NULL, NULL)
[paperclip] Saving attachments.
(0.4ms) COMMIT
Completed 200 OK in 3ms (Views: 0.1ms | ActiveRecord: 0.6ms)
Run Code Online (Sandbox Code Playgroud)
在Uploads #create函数中,response with的布局设置为false.不知道为什么它如此努力地提供HTML?
if @upload.save
format.html {
render :json => [@upload.to_jq_upload].to_json,
:content_type => 'text/html',
:layout => false
}
format.json { render json: {files: [@upload.to_jq_upload]}, status: :created, location: @upload }
else
Run Code Online (Sandbox Code Playgroud)
好像你已经给出:remote => true和:multipart => true选项在表单中删除:remote => true选项并尝试使用jQuery提交,并确保你需要在点击时禁用html表单提交提交按钮.还需要检查.js文件中是否只有1个文件上传方法,并确保多次加载一个文件.
| 归档时间: |
|
| 查看次数: |
913 次 |
| 最近记录: |