【发布时间】:2014-12-25 07:59:54
【问题描述】:
我正在尝试使用 jQuery File Upload pugin 实现我的图库上传,但由于某些原因(让我发疯),我在 UI 上看不到任何内容。 我尝试像在 Basic Plus UI 示例中那样设置所有插件,所以这是我的实现:
首先我要加载的 HTML 代码 + 脚本:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link href="/Content/bootstrap.css" rel="stylesheet"/>
<link href="/Content/bootstrap-theme.css" rel="stylesheet"/>
<link href="/Content/style.css" rel="stylesheet"/>
<link href="/Content/jQuery.FileUpload/css/jquery.fileupload.css" rel="stylesheet"/>
<link href="/Content/jQuery.FileUpload/css/jquery.fileupload-ui.css" rel="stylesheet"/>
<script src="/Scripts/jquery-2.1.1.js"></script>
<script src="/Scripts/jquery-ui-1.11.2.js"></script>
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/modernizr-2.8.3.js"></script>
<script src="/Scripts/jquery.eventCalendar.js"></script>
<!-- Bootstrap CSS fixes for IE6 -->
<!--[if lt IE 7]><link rel="stylesheet" href="/Content/FileUpload/css/bootstrap/bootstrap-ie6.debug.css"><![endif]-->
<!--[if lt IE 9]><script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
</head>
...
<body>
...
<div class="row fileupload-buttonbar">
<div class="col-lg-12">
<!-- The fileinput-button span is used to style the file input field as button -->
<span class="btn btn-success fileinput-button">
<i class="icon-plus icon-white"></i>
<span>Choose files...</span>
<input type="file" name="files[]" id="fileupload" multiple="multiple" />
</span>
</div>
<!-- The global progress state -->
<div class="col-lg-12 fileupload-progress fade">
<!-- The global progress bar -->
<div class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100">
<div class="progress-bar progress-bar-success" style="width:0%;"></div>
</div>
<!-- The extended global progress state -->
<div class="progress-extended"> </div>
</div>
</div>
<!-- The table listing the files available for upload/download -->
<table role="presentation" class="table table-striped"><tbody class="files"></tbody></table>
<!-- The template to display files available for upload -->
<script id="template-upload" type="text/x-tmpl">
{% alert('eho'); %}
<tr class="template-upload fade">
<td>
<p>template-upload</p>
</td>
</tr>
</script>
<!-- The template to display files available for download -->
<script id="template-download" type="text/x-tmpl">
{% alert('eho2'); %}
<tr class="template-download fade">
<td>
<p>template-upload</p>
</td>
</tr>
</script>
<script src="/Scripts/bootstrap.js"></script>
<script src="/Scripts/jQuery.FileUpload/jquery.fileupload.js"></script>
<script src="/Scripts/jQuery.FileUpload/jquery.fileupload-ui.js"></script>
<script src="/Scripts/jQuery.FileUpload/jquery.iframe-transport.js"></script>
<script src="/Scripts/jQuery.FileUpload/jquery.fileupload-process.js"></script>
<script src="/Scripts/jQuery.FileUpload/jquery.fileupload-image.js"></script>
<script src="/Scripts/jQuery.FileUpload/jquery.fileupload-audio.js"></script>
<script src="/Scripts/jQuery.FileUpload/jquery.fileupload-video.js"></script>
<script src="/Scripts/jQuery.FileUpload/jquery.fileupload-validate.js"></script>
<script src="/Scripts/tmpl.js"></script>
<script src="/Scripts/JavaScript-Load-Image/load-image.all.min.js"></script>
<script src="/Scripts/JavaScript-Canvas-to-Blob/canvas-to-blob.min.js"></script>
<script src="/Scripts/SCPS/upload.js"></script>
</body>
我的 upload.js 文件如下所示:
$(document).ready(function() {
$('#fileupload').fileupload({
url: '/Upload/UploadContentImage',
autoUpload: true,
add: function (e, data) {
alert('sending');
data.submit();
}
});
});
当我使用选择文件...按钮选择文件时,会显示发送警报。我还能够在服务器端处理图像,并且我返回了一些不同的 JSON 结构,我想将其传递给 JS 模板,但它不应该有所作为。现在我只需要在服务器返回响应后至少能看到发生的事情。我的回复正文如下所示:
{
"statusCode":200,
"status":"Image uploaded successfully.",
"file":{
"Id":1055,
"Name":"P1130142_ee0bbf3639aa4d06a7140839f33eb90d.JPG",
"DisplayName":"P1130142.JPG",
"Url":"D:\\....\\Files\\Content\\2014\\1024\\P1130142_ee0bbf3639aa4d06a7140839f33eb90d.JPG",
"ThumbnailUrl":"D:\\....\\Files\\Content\\2014\\150\\P1130142_ee0bbf3639aa4d06a7140839f33eb90d.JPG",
"OriginalUrl":"D:\\....\\Files\\Content\\2014\\P1130142_ee0bbf3639aa4d06a7140839f33eb90d.JPG",
"MimeType":"image/jpeg",
"Order":0,
"Size":3657508,
"Gallery":null,
"GalleryId":null
}
}
我想要实现的是在拿起图片后立即将它们添加到上传表并显示上传过程,上传完成后显示文件信息与这个演示非常相似,除了自动上传:
https://blueimp.github.io/jQuery-File-Upload/
我非常感谢任何提示建议注释或任何可以帮助我的东西。
马雷克
【问题讨论】:
标签: jquery json asp.net-mvc-5 jquery-file-upload