作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在将 Plupload 与 Rails 应用程序一起使用。 uploader 允许用户提交图片,但我要求图片大于某个最小像素大小。这在处理从 Plupload 接收的图像时在服务器端进行验证。
现在, uploader 工作正常,但是当特定文件失败时,用户会看到一个橙色三 Angular 形,如果他们将鼠标悬停在它上面,他们会收到“HTTP 错误”。这对普通用户来说毫无用处。
这就是我现在的 Rails Controller 中的内容:
def create
@photo = current_user.photos.new(:image => params[:file])
if @photo.save
head :ok
else
head :bad_request
end
end
我如何将我的应用程序的描述性错误消息传回 Plupload,以便它们可以在橙色三 Angular 形中显示给用户?
我是否需要返回一些 json 或 xml,或其他不同的东西?我尝试过返回失败图像对象的不同表示,但到目前为止,我所做的一切都没有让 Plupload 接收到我的错误消息。
感谢您的帮助!
最佳答案
多次上传carrierware plupload
#app/controllers/adm/galerias_imagem.rb
class Adm::GaleriasImagensController < ApplicationController
layout "adm_layout"
....
def create
@adm_galerias_imagem = Adm::GaleriasImagem.new(adm_galerias_imagem_params)
respond_to do |format|
if @adm_galerias_imagem.save
head :ok
else
head :bad_request
end
end
#app/views/adm/galerias_imagens/new.html.erb
<div id="filelist">Your browser doesn't have Flash, Silverlight or HTML5 support.</div>
<br />
<div id="container">
<a id="pickfiles" href="javascript:;">[Select files]</a>
<a id="uploadfiles" href="javascript:;">[Upload files]</a>
</div>
<%= link_to 'Back', adm_galerias_imagens_path, class: "btn btn-default" %>
<% content_for :js do %>
$(function(){
var uploader = new plupload.Uploader({
runtimes : 'html5,flash,silverlight,html4',
browse_button : 'pickfiles', // you can pass in id...
container: document.getElementById('container'), // ... or DOM Element itself
url : '<%= adm_galerias_imagens_path %>',
multipart: true,
max_file_size : '10mb',
multipart_params: {
"authenticity_token" : "<%= form_authenticity_token %>",
'<%= Rails.application.config.session_options[:key] %>': '<%= request.session_options[:id] %>',
"adm_galerias_imagem[galeria_id]": <%= params[:id] %>
},
flash_swf_url : '/assets/Moxie.swf',
silverlight_xap_url : '/assets/Moxie.xap',
file_data_name:"adm_galerias_imagem[imagem]",
filters : {
max_file_size : '10mb',
mime_types: [
{title : "Image files", extensions : "jpg,gif,png"},
{title : "Zip files", extensions : "zip"}
]
}
});
uploader.bind('Init', function(up, params) {
$('#filelist').html("<div>Current runtime: " + params.runtime + "</div>");
});
uploader.bind('FilesAdded', function(up, files) {
$.each(files, function(i, file) {
$('#filelist').append(
'<div id="' + file.id + '">' +
'File: ' + file.name + ' (' + plupload.formatSize(file.size) + ') <b></b>' +'</div>'
);
});
});
uploader.bind('UploadProgress', function(up, file) {
$('#' + file.id + " b").html(file.percent + "%");
});
$('#uploadfiles').click(function(e) {
uploader.start();
e.preventDefault();
});
uploader.init();
});
<% end %>
#app/views/layouts/adm_layout.html.erb
<!--Scripts-->
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<script type="text/javascript">
<%= yield :js %>
</script>
关于javascript - 上传错误信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7217398/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!