你好,我喜欢jQuery-File-Upload插件的外观,但是它的冗余代码太多了,很难从中提取有用的部分。它似乎强制我使用一些我不想要或无法在实际代码中使用的内容。
简单来说,当它不是我的代码的一部分时,它可以工作,但是当我将它实现到我的代码之外时,它就会出问题。
例如:
- index.html示例中充斥着我不需要/不能在我的实际代码中使用的外部URL引用。当我将其删除并尝试简化它时,它就会崩溃,而且需要检查的内容太多。
- 文档对于真正知道自己需要什么的开发者来说,开始得太“深入”了——没有“简单”的示例,只有基于假设您的上下文的“默认”示例。
- 有人能帮我创建一个自己的index.php文件吗?告诉我如何以尽可能简单轻便的方式定位我放置的实际php文件,发送哪些参数(为我之后可能进行的任何后续数据库更新),在设置中指定上传目录的位置,如何隐藏任何“常规”操作。原则上,最好始终从基础开始,但它们并不存在。
- 简单来说:我想用jQuery-File-Upload的漂亮GUI版本替换正常的“file_upload”html表单方案,但这太难了!
真正有用的代码在哪里!
在我受到训斥之前,我要声明,在过去的9个月中,这是第3或第4次尝试实现它,每次安装大约花费了4个小时。每一次我都放弃了,使用了不那么漂亮但我可以正确控制的东西。
<!-- Force latest IE rendering engine or ChromeFrame if installed -->
<!--[if IE]>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<![endif]-->
<!-- Generic page styles -->
<link rel="stylesheet" href="../common/jQuery-File-Upload_8.7.1/css/style.css">
<!-- CSS to style the file input field as button and adjust the Bootstrap progress bars -->
<link rel="stylesheet" href="../common/jQuery-File-Upload_8.7.1/css/jquery.fileupload-ui.css">
<div class="container">
<!-- The file upload form used as target for the file upload widget -->
<form id="fileupload" action="//jquery-file-upload.appspot.com/" method="POST" enctype="multipart/form-data">
<!-- The fileupload-buttonbar contains buttons to add/delete files and start/cancel the upload -->
<div class="row fileupload-buttonbar">
<div class="span7">
<!-- 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>Add files...</span>
<input type="file" name="files[]" multiple>
</span>
<button type="submit" class="btn btn-primary start">
<i class="icon-upload icon-white"></i>
<span>Start upload</span>
</button>
<button type="reset" class="btn btn-warning cancel">
<i class="icon-ban-circle icon-white"></i>
<span>Cancel upload</span>
</button>
<button type="button" class="btn btn-danger delete">
<i class="icon-trash icon-white"></i>
<span>Delete</span>
</button>
<input type="checkbox" class="toggle">
<!-- The loading indicator is shown during file processing -->
<span class="fileupload-loading"></span>
</div>
<!-- The global progress information -->
<div class="span5 fileupload-progress fade">
<!-- The global progress bar -->
<div class="progress progress-success progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100">
<div class="bar" style="width:0%;"></div>
</div>
<!-- The extended global progress information -->
<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>
</form>
<br>
</div>
<!-- The blueimp Gallery widget -->
<div id="blueimp-gallery" class="blueimp-gallery blueimp-gallery-controls" data-filter=":even">
<div class="slides"></div>
<h3 class="title"></h3>
<a class="prev">‹</a>
<a class="next">›</a>
<a class="close">×</a>
<a class="play-pause"></a>
<ol class="indicator"></ol>
</div>
<!-- The template to display files available for upload -->
<script id="template-upload" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
<tr class="template-upload fade">
<td>
<span class="preview"></span>
</td>
<td>
<p class="name">{%=file.name%}</p>
{% if (file.error) { %}
<div><span class="label label-important">Error</span> {%=file.error%}</div>
{% } %}
</td>
<td>
<p class="size">{%=o.formatFileSize(file.size)%}</p>
{% if (!o.files.error) { %}
<div class="progress progress-success progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"><div class="bar" style="width:0%;"></div></div>
{% } %}
</td>
<td>
{% if (!o.files.error && !i && !o.options.autoUpload) { %}
<button class="btn btn-primary start">
<i class="icon-upload icon-white"></i>
<span>Start</span>
</button>
{% } %}
{% if (!i) { %}
<button class="btn btn-warning cancel">
<i class="icon-ban-circle icon-white"></i>
<span>Cancel</span>
</button>
{% } %}
</td>
</tr>
{% } %}
</script>
<!-- The template to display files available for download -->
<script id="template-download" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
<tr class="template-download fade">
<td>
<span class="preview">
{% if (file.thumbnailUrl) { %}
<a href="{%=file.url%}" title="{%=file.name%}" download="{%=file.name%}" data-gallery><img src="{%=file.thumbnailUrl%}"></a>
{% } %}
</span>
</td>
<td>
<p class="name">
<a href="{%=file.url%}" title="{%=file.name%}" download="{%=file.name%}" {%=file.thumbnailUrl?'data-gallery':''%}>{%=file.name%}</a>
</p>
{% if (file.error) { %}
<div><span class="label label-important">Error</span> {%=file.error%}</div>
{% } %}
</td>
<td>
<span class="size">{%=o.formatFileSize(file.size)%}</span>
</td>
<td>
<button class="btn btn-danger delete" data-type="{%=file.deleteType%}" data-url="{%=file.deleteUrl%}"{% if (file.deleteWithCredentials) { %} data-xhr-fields='{"withCredentials":true}'{% } %}>
<i class="icon-trash icon-white"></i>
<span>Delete</span>
</button>
<input type="checkbox" name="delete" value="1" class="toggle">
</td>
</tr>
{% } %}
</script>
<!-- The Iframe Transport is required for browsers without support for XHR file uploads -->
<script src="../common/jQuery-File-Upload_8.7.1/js/jquery.iframe-transport.js"></script>
<!-- The basic File Upload plugin -->
<script src="../common/jQuery-File-Upload_8.7.1/js/jquery.ui.widget.js"></script>
<!-- The basic File Upload plugin -->
<script src="../common/jQuery-File-Upload_8.7.1/js/jquery.fileupload.js"></script>
<!-- The File Upload processing plugin -->
<script src="../common/jQuery-File-Upload_8.7.1/js/jquery.fileupload-process.js"></script>
<!-- The File Upload image preview & resize plugin -->
<script src="../common/jQuery-File-Upload_8.7.1/js/jquery.fileupload-image.js"></script>
<!-- The File Upload audio preview plugin -->
<script src="../common/jQuery-File-Upload_8.7.1/js/jquery.fileupload-audio.js"></script>
<!-- The File Upload video preview plugin -->
<script src="../common/jQuery-File-Upload_8.7.1/js/jquery.fileupload-video.js"></script>
<!-- The File Upload validation plugin -->
<script src="../common/jQuery-File-Upload_8.7.1/js/jquery.fileupload-validate.js"></script>
<!-- The File Upload user interface plugin -->
<script src="../common/jQuery-File-Upload_8.7.1/js/jquery.fileupload-ui.js"></script>
<!-- The main application script -->
<script src="../common/jQuery-File-Upload_8.7.1/js/main.js"></script>
<!-- The XDomainRequest Transport is included for cross-domain file deletion for IE 8 and IE 9 -->
<!--[if (gte IE 8)&(lt IE 10)]>
<script src="../common/jQuery-File-Upload_8.7.1/js/cors/jquery.xdr-transport.js"></script>
<![endif]-->