Javascript 我在初始化Jquery文件上传插件时遇到问题
我使用这个插件在主干网上上传,但是,我必须在上传前提交2次。 当我第一次选择我的文件时,似乎fileupload函数不执行,然后当我选择第二次时,它将执行 这看起来很愚蠢,但我不明白我错在哪里 这里是主干部分:Javascript 我在初始化Jquery文件上传插件时遇到问题,javascript,jquery,backbone.js,blueimp,Javascript,Jquery,Backbone.js,Blueimp,我使用这个插件在主干网上上传,但是,我必须在上传前提交2次。 当我第一次选择我的文件时,似乎fileupload函数不执行,然后当我选择第二次时,它将执行 这看起来很愚蠢,但我不明白我错在哪里 这里是主干部分: form_submit: function(e){ $('#fileupload').fileupload({ add: function (e, data) { // Automatically upload the file once it is
form_submit: function(e){
$('#fileupload').fileupload({
add: function (e, data) {
// Automatically upload the file once it is added to the queue
var jqXHR = data.submit();
},
progress: function(e, data){
var progress = parseInt(data.loaded / data.total * 100, 10);
$('#progress .progress-bar').css(
'width',
progress + '%'
);
if (progress == 100) {
var message = "<font color=green>Fichier uploadé !</font>";
var info = document.getElementById("info");
info.innerHTML=message;
}
}
});
}
我还尝试了初始化:
initialize : function(options) {
$('#fileupload').fileupload({
url: '/rest/maj/',
sequentialUploads: true
});
this.router = options.router;
this.render();
},
但是什么都不管用。。它在第一次启动时仍然没有启动。好的,所以我解决了我的问题:我只需要将fileupload函数放入$(document)。ready(function(),如下所示:
$(document).ready(function() {
var router = new AppRouter();
Backbone.history.start();
$('#fileupload').fileupload({
url: '/rest/maj/',
//acceptFileTypes: /(\.|\/)(tar|tgz|tar.gz)$/i,
//maxFileSize: 20000000, // 20 MB
add: function (e, data) {
var acceptFileTypes = /^application\/(tar|tgz|tar.gz|gzip|x-tar)$/i;
alert(data.files[0]['type']); // Pour vérifier la syntaxe de l'extension
//alert(data.files[0]['size']); Pour vérifier la taille du fichier
if(data.files[0]['type'].length && !acceptFileTypes.test(data.files[0]['type'])) { //si le type ne correspond pas à ceux définits dans acceptFileTypes
$('#info').append('<font color=red><b>Mauvaise extension</b></font><br/><br/>Extensions valides : <b>(tar|tgz|tar.gz)</b>');
}
else if(data.files[0]['size'] > 20000000) { //si la taille du fichier dépasse 20 MB
$('#info').append('<font color=red><b>La taille du fichier doit etre inférieure à 20 MO</b></font>');
}
else {
var jqXHR = data.submit(); //upload le fichier direct après qu'on l'ai choisi
}
},
progress: function(e, data){
var progress = parseInt(data.loaded / data.total * 100, 10); // calcule l'avancement de l'upload et l'affiche dans la bar progress
$('#progress .progress-bar').css(
'width',
progress + '%'
);
if (progress == 100) {
$('#info').append('<font color=green><b>Fichier uploadé !</b></font>');
}
}
});
});
$(文档).ready(函数(){
var router=newapprouter();
Backbone.history.start();
$('#fileupload')。fileupload({
url:“/rest/maj/”,
//acceptFileTypes:/(\.\/)(tar | tgz | tar.gz)$/i,
//最大文件大小:20000000,//20 MB
添加:功能(e、数据){
var acceptFileTypes=/^application\/(tar | tgz | tar.gz | gzip | x-tar)$/i;
警报(data.files[0]['type']);///Pour vérifier la syntax de l'扩展名
//警报(data.files[0]['size']);为fichier的taille提供警告
如果(data.files[0]['type'].length&&!acceptFileTypes.test(data.files[0]['type']){//si-le-type-ne-correct-pasáceux définites-dans-acceptFileTypes.test(data.files[0]['type'])
$('#info').append('Mauvaise extension
Extensions valides:(tar | tgz | tar.gz');
}
如果(data.files[0]['size']>20000000){//si la taille du fichier dépasse 20MB
$('info').append('latailedufichierdoit etre inférieureá20 MO');
}
否则{
var jqXHR=data.submit();//上传le fichier direct après qu'on l'ai choisi
}
},
进度:功能(e、数据){
var progress=parseInt(data.loaded/data.total*100,10);//计算上传和粘贴进度
$('#progress.progress bar').css(
“宽度”,
进度+“%”
);
如果(进度==100){
$('info').append('Fichier uploadé!');
}
}
});
});
请在下面以答案的形式发布您的解决方案,并在允许的情况下尽快将其标记为“已接受”。请勿在您的问题中发布解决方案。谢谢。
initialize : function(options) {
$('#fileupload').fileupload({
url: '/rest/maj/',
sequentialUploads: true
});
this.router = options.router;
this.render();
},
$(document).ready(function() {
var router = new AppRouter();
Backbone.history.start();
$('#fileupload').fileupload({
url: '/rest/maj/',
//acceptFileTypes: /(\.|\/)(tar|tgz|tar.gz)$/i,
//maxFileSize: 20000000, // 20 MB
add: function (e, data) {
var acceptFileTypes = /^application\/(tar|tgz|tar.gz|gzip|x-tar)$/i;
alert(data.files[0]['type']); // Pour vérifier la syntaxe de l'extension
//alert(data.files[0]['size']); Pour vérifier la taille du fichier
if(data.files[0]['type'].length && !acceptFileTypes.test(data.files[0]['type'])) { //si le type ne correspond pas à ceux définits dans acceptFileTypes
$('#info').append('<font color=red><b>Mauvaise extension</b></font><br/><br/>Extensions valides : <b>(tar|tgz|tar.gz)</b>');
}
else if(data.files[0]['size'] > 20000000) { //si la taille du fichier dépasse 20 MB
$('#info').append('<font color=red><b>La taille du fichier doit etre inférieure à 20 MO</b></font>');
}
else {
var jqXHR = data.submit(); //upload le fichier direct après qu'on l'ai choisi
}
},
progress: function(e, data){
var progress = parseInt(data.loaded / data.total * 100, 10); // calcule l'avancement de l'upload et l'affiche dans la bar progress
$('#progress .progress-bar').css(
'width',
progress + '%'
);
if (progress == 100) {
$('#info').append('<font color=green><b>Fichier uploadé !</b></font>');
}
}
});
});