返回介绍

上传

发布于 2019-05-26 16:28:29 字数 3609 浏览 1000 评论 0 收藏 0

允许用户通过文件表单或占位符域来上传文件

用法

这个 JavaScript 组件运用了最新的 XMLHttpRequest Level 2 规范,提供了通过包含上传进度条的Ajax进行文件上传追踪的功能。本组件提供了两种上传文件的方式: selectdropselect 请求只能被用在 <input type="file"> 元素中,而 drop 基本可以用在任何元素,通过从桌面将文件拖拽到指定元素就能轻松实现上传。记住,本组件并不在服务器上处理文件上传。

注意 使用此组件需要额外添加  upload.css 文件,在 css/components 文件夹中。此组件需要额外添加 upload.js 文件,在js/components文件夹中。

上传组件需要根据你的要求单独进行实施。在我们的例子中,我们使用占位符和文件表单,同时使用了dropselect请求。另外,还是用了进度条来显示上传进度。

<div class="uk-placeholder">
    Info text... <a class="uk-form-file">Select a file<input type="file"></a>.
</div>
<div class="uk-progress uk-hidden">
    <div class="uk-progress-bar" style="width: 0%;">...</div>
</div>

JavaScript

为了创建 selectdrop 上传监听器,你需要使用目标元素和选项来实例化每个上传class,以定义回调和其他有用的设置。

<script>
    $(function(){
var progressbar = $("#progressbar"),
    bar = progressbar.find('.uk-progress-bar'),
    settings    = {
    action: '/', // 上传路径 url
    allow : '*.(jpg|jpeg|gif|png)', // 只允许上传图片
    loadstart: function() {
bar.css("width", "0%").text("0%");
progressbar.removeClass("uk-hidden");
    },
    progress: function(percent) {
percent = Math.ceil(percent);
bar.css("width", percent+"%").text(percent+"%");
    },
    allcomplete: function(response) {
bar.css("width", "100%").text("100%");
setTimeout(function(){
    progressbar.addClass("uk-hidden");
}, 250);
alert("Upload Completed")
    }
};
var select = UIkit.uploadSelect($("#upload-select"), settings),
    drop   = UIkit.uploadDrop($("#upload-drop"), settings);
    });
</script>

JavaScript 选项

选项可用值默认值描述
actionstring''上传的目标URL
singlebooleantrue逐一进行文件发送
paramstringfiles[]传递查询名称
paramsJSON Object{}额外的请求参数
allowstring*.*文件过滤器
filelimitintegerfalse文件上传数量限制
type(text | json)text来自服务器的响应类型

回调事件

名称参数
beforesettings, files
beforeAllfiles
beforeSendxhr
progresspercent
completeresponse, xhr
allcompleteresponse, xhr
notallowedfile, settings
loadstartevent
loadevent
loadendevent
errorevent
abortevent
readystatechangeevent

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文