我正在尝试将Jquery File Upload plugin集成到我的aspx页面(asp.net网站)中。我遵循了指南,包括所有必需的脚本和样式表,但是在index.html中使用了form
标签来初始化插件,并且还为标签指定了action
和{{1} }属性。由于我使用的是asp.net,因此我不允许插入method
标签,因为asp.net用另一个form
标签包裹了整个网站,并且不允许插入另外的{{1 }}标记在其中。
如何以其他方式初始化插件?
答案 0 :(得分:0)
您实际上不必具有使用jQuery文件上传插件的表单。因为该插件在后台使用了jQuery ajax。使用页面内的以下代码,请记住,您必须在服务器端编写API。
$(function () {
'use strict';
// Change this to the location of your server-side upload handler:
var url = 'your server api or handler';
$('#fileupload').fileupload({
url: url,
dataType: 'json',
done: function (e, data) {
$.each(data.result.files, function (index, file) {
$('<p/>').text(file.name).appendTo('#files');
});
},
progressall: function (e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
$('#progress .progress-bar').css(
'width',
progress + '%'
);
}
}).prop('disabled', !$.support.fileInput)
.parent().addClass($.support.fileInput ? undefined : 'disabled');
});
和您的html如下:
<span class="btn btn-success fileinput-button">
<i class="glyphicon glyphicon-plus"></i>
<span>Select files...</span>
<!-- The file input field used as target for the file upload widget -->
<input id="fileupload" type="file" name="files[]" multiple>
</span>
<br>
<br>
<!-- The global progress bar -->
<div id="progress" class="progress">
<div class="progress-bar progress-bar-success"></div>
</div>
<!-- The container for the uploaded files -->
<div id="files" class="files"></div>