Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
RubyonRails-在使用JQuery上传到服务器之前,客户端调整图像大小_Jquery_Ruby On Rails_Image Processing_Coffeescript_Client Side - Fatal编程技术网

RubyonRails-在使用JQuery上传到服务器之前,客户端调整图像大小

RubyonRails-在使用JQuery上传到服务器之前,客户端调整图像大小,jquery,ruby-on-rails,image-processing,coffeescript,client-side,Jquery,Ruby On Rails,Image Processing,Coffeescript,Client Side,我正在尝试在上传到服务器之前调整图像的大小,以便添加到我的网站。我正在使用Ruby on Rails,我使用的基础是RailsCasts一集中的代码,并尝试添加我在以下链接中发现的内容: 这是我的代码(paints.js.coffee): 这是我的代码(application.js): 以下是与GEM文件相关的部分: gem 'jquery-fileupload-rails' gem 'jquery-file-upload-railed' 我需要包括 gem 'jquery-fi

我正在尝试在上传到服务器之前调整图像的大小,以便添加到我的网站。我正在使用Ruby on Rails,我使用的基础是RailsCasts一集中的代码,并尝试添加我在以下链接中发现的内容:


这是我的代码(paints.js.coffee):

这是我的代码(application.js):

以下是与GEM文件相关的部分:

  gem 'jquery-fileupload-rails'
  gem 'jquery-file-upload-railed'
我需要包括

gem 'jquery-file-upload-railed'
由于application.js上的要求:

//= require jquery
//= require jquery_ujs
//= require jquery-fileupload/basic
//= require jquery-fileupload/vendor/jquery.ui.widget
//= require jquery-fileupload/vendor/load-image
//= require jquery-fileupload/vendor/canvas-to-blob
//= require jquery-fileupload/jquery.iframe-transport
//= require jquery-fileupload/jquery.fileupload
//= require jquery-fileupload/jquery.fileupload-ui
//= require_tree .
//= require jquery-file-upload/jquery.fileupload-process
//= require jquery-file-upload/jquery.fileupload-validate
//= require jquery-file-upload/jquery.fileupload-image
//= require jquery-file-upload/jquery.fileupload-process
//= require jquery-file-upload/jquery.fileupload-validate
//= require jquery-file-upload/jquery.fileupload-image
结果:我得到了这个错误:

未捕获的TypeError:对象#没有方法“_super”

在文件中:

jquery.fileupload process.js?body=1:165

由于问题似乎出在jquery.fileupload-process.js文件上,我删除了依赖于gem“jquery file upload railed”的3个要求。从application.js中删除行:

//= require jquery
//= require jquery_ujs
//= require jquery-fileupload/basic
//= require jquery-fileupload/vendor/jquery.ui.widget
//= require jquery-fileupload/vendor/load-image
//= require jquery-fileupload/vendor/canvas-to-blob
//= require jquery-fileupload/jquery.iframe-transport
//= require jquery-fileupload/jquery.fileupload
//= require jquery-fileupload/jquery.fileupload-ui
//= require_tree .
//= require jquery-file-upload/jquery.fileupload-process
//= require jquery-file-upload/jquery.fileupload-validate
//= require jquery-file-upload/jquery.fileupload-image
//= require jquery-file-upload/jquery.fileupload-process
//= require jquery-file-upload/jquery.fileupload-validate
//= require jquery-file-upload/jquery.fileupload-image
我还从Gemfile中删除了gem:

gem 'jquery-file-upload-railed'
然后我又犯了一个错误:

未捕获的TypeError:对象#没有方法“进程”

在文件中:

paints.js?body=1:28

然后我决定更改文件paintins.js.coffee中的add:callback。 之前:

之后:

add: (e, data) ->
  types = /(\.|\/)(gif|jpe?g|png)$/i
  file = data.files[0]
  if types.test(file.type) || types.test(file.name)
    #data.context = $(tmpl("template-upload", file))
    #$('#fileupload').append(data.context)
    current_data = $(this)
    current_data.fileupload('process', data);
    data.submit();
  else
    alert("#{file.name} is not a gif, jpeg, or png image file")
结果:现在可以上传到S3了。但它不支持客户端调整图像大小。任何人都可以帮我。文档非常稀少,我一直在根据其他人的经验工作,但到目前为止,他们都没有帮助过我

提前谢谢

add: (e, data) ->
  types = /(\.|\/)(gif|jpe?g|png)$/i
  file = data.files[0]
  if types.test(file.type) || types.test(file.name)
    #data.context = $(tmpl("template-upload", file))
    #$('#fileupload').append(data.context)
    current_data = $(this)
    current_data.fileupload('process', data);
    data.submit();
  else
    alert("#{file.name} is not a gif, jpeg, or png image file")