首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在Rails 4中使用Transloadit上传照片

无法在Rails 4中使用Transloadit上传照片
EN

Stack Overflow用户
提问于 2014-07-22 05:18:28
回答 2查看 338关注 0票数 0

我按照Transloadit Rails GitHub page上的教程操作,但在没有收到警告的情况下无法提交表单:Could not find input[name=params] in your form。在我点击“确定”后,Transloadit很快抛出了INVALID_FORM_DATA: bad form data, cannot parse,数据永远不会到达我的服务器。

我的应用使用的是Rails 4.1.4jquery-rails 2.1.4

这是我的表格:

代码语言:javascript
复制
= form_for @profile, url: community_add_photo_path(@profile), html: {id: 'photo_form'} do |f|
  = render 'shared/error_messages', object: f.object
  = transloadit :profile_photo
  = hidden_field_tag 'transloadit_template', 'profile_photo'

  %table.list
    %tr
      %td.faded.label Photo Filename
      %td= f.file_field :photo, required: true
    %tr
      %td
      %td= f.submit 'Upload'

= transloadit_jquerify :photo_form, wait: true

和我的transloadit.yml文件:

代码语言:javascript
复制
development:
  jquery_sdk_version: 'latest'
  auth:
    key:      'key'
    secret:   'secret'
    duration: 1800 # 30 minute validity period for signed upload forms

  templates:
    profile_photo:
      steps:
        resize:
          height: 256
          resize_strategy: 'fillcrop'
          robot: '/image/resize'
          width: 256
        store:
          bucket: 'bucket-name'
          key: 'key'
          path: 'temp/${assembly.id}/${file.name}'
          robot: '/s3/store'
          secret: 'secret'

有什么建议吗?谢谢!

EN

回答 2

Stack Overflow用户

发布于 2014-09-29 17:18:28

我假设你在控制器里有params解码器。这就是我所拥有的,它是有效的,但现在我将使用jquery,因为我无法控制发生了什么。

代码语言:javascript
复制
        = bootstrap_form_for apr, :remote=> true,   html: { :id => "showapr#{apr.id}" , "data-type" => :json,    class: 'form-horizontal' } do |f|
            = hidden_field_tag :eventid, apr.event.id
            = transloadit :video_encode
            .fileupload.fileupload-new.pull-left{"data-provides" => "fileupload", style: "padding-right: 5px;"}  
                .fileupload-preview.thumbnail{:style => "width: 140px; height: 140px;"}
                    - if apr.upload.present?
                        - if apr.upload["thumbs"].present?
                            %img{ :src => apr.upload["thumbs"][0], :style => "width: 140px;height: 140px;"}
                    -else
                        %img{"data-src" => "holder.js/140x140/text:Lorem ipsum/social", :src => "", :style => "width: 140px;height: 140px;"}/
                - if apr.event.app.check_user_failed == false &&  (apr.event.start_time.day == Time.zone.now.day)
                    %div
                        %span.btn.btn-default.btn-file
                            %span.fileupload-new Select image
                            =f.file_field "upload#{apr.id}" , accept: 'video/flv,video/avi,video/mov,video/mp4,video/mpg,video/wmv,video/3gp,video/asf,video/rm,video/swf',  :data => {:max_file_size => 30.megabytes}
                    = transloadit_jquerify "showapr#{apr.id}", :wait => true, :modal=>true,  :triggerUploadOnFileSelection=> true 
票数 0
EN

Stack Overflow用户

发布于 2014-12-15 01:11:53

问题是,您实际上没有将正确的表单数据发布到API,以便正确解析。

https://transloadit.com/docs/api-docs#status-codes

为您提供: NO_PARAMS_FIELD未提供参数字段。

这非常有意义,因为您没有将params字段传递给API,在使用transloadit的jquery方法时会使用该API

代码语言:javascript
复制
params: {
 "startdate":"2014-12-02", 
 "endate":"2014-12-03",
 "auth":{ 
   "expires": "2014/12/27 16:53:14+00:00", 
   "key": "yourKeyValue"
  }
}
&signature=yourUniqueSignature

因此,创建参数以发送到API以使transloadit正常工作的方式存在问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24874968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档