RubyonRails-在使用JQuery上传到服务器之前,客户端调整图像大小
我正在尝试在上传到服务器之前调整图像的大小,以便添加到我的网站。我正在使用Ruby on Rails,我使用的基础是RailsCasts一集中的代码,并尝试添加我在以下链接中发现的内容: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
这是我的代码(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")