一、webuploader使用
:
1. 效果
使用webuploader,其显示效果如下:
ajax无刷新上传文件并提供本地预览效果
注意,这里的本地预览,可以是上传成功以后的预览,也可以没上传前的预览。这里的预览,和后台无关的,这是前端js实现的。
ajax的XMLhttpRequest 对象下的uploader子对象 实现的进度条,所以低版本浏览器不支持。
下载
2. 使用
先引入webuploader插件的css和js文件。
<link rel="stylesheet" type="text/css" href="./lib/webuploader/0.1.5/webuploader.css" />
<script type="text/javascript" src="./lib/webuploader/0.1.5/webuploader.min.js"></script>
3. 初始化
var uploader = ate({
配置项: 值,
配置项: 值,
});
4. 配置项(Options)
4.1 自动上传文件
auto: true,
开启默认上传图片。
4.2 设置swf文件的路径
swf: "./lib/webuploader/0.1.5/Uploader.swf",
因为部分低版本浏览器并不支持HTML5的ajax文件上传,所以对于这部分浏览,可以设置告诉系统,使用swf来完成文件上传功能。
4.3 laravel框架下载设置选择图片的按钮
pick: '#picker',
这里填写的选择符,使用jQuery选择器中的选择符
4.4 默认webuploader是压缩图片后才上传
resize: false,
这里,我们不需要压缩,可以关闭掉。
4.5 只允许选择图片文件
accept: {
title: "图片",
extensions: 'gif,jpg,jpeg,bmp,png',
mineTypes: 'image/*'
},
4.6 设置服务器的url
server: "{{url('/admin/upload')}}"
即上传文件的处理页面地址
在Lravel中我们需要上传文件时使用post上传就必须附带 csrf的token令牌。
formData: {
'_token': '{{ csrf_token() }}',
}
5. 上传图片时设置预览图片效果
var preview = $(‘#webuploader-img’);
('fileQueued', function(file) {
uploader.makeThumb(file, function(error, src) {
$pty();
if (error) {
layer.msg("不能预览图片。");
return;
}
$preview.html("<img src='" + src +"' />");
}, 100, 100);
});
<div id="webuploader-img" class="uploader-list"></div>
<div id="picker">选择图片</div>
fileQueued,事件,当有文件被选择上传时,则触发当前事件。
makeThumb 方法,设置生成缩略图。
$preview 为显示图片的html标签
6. 监听文件上传进度,显示到页面上
('uploadProgress', function(file, percentage) {
$('#processing .sr-only').css('width', percentage * 100 + '%')
});
<div id="processing">
<div class="progress" >
<span class="progress-bar">
<span class="sr-only" ></span>
</span>
</div>
</div>
二、zyload使用
<script type="text/javascript" src="./zyupload/core/zyFile.js"></script>
<script type="text/javascript" src="./zyupload/control/js/zyUpload.js"></script>
<link rel="stylesheet" type="text/css" href="./zyupload/control/css/zyUpload.css">
// 初始化zyupload
$('#carousel_imgs').zyUpload({
width: "550px",
url: "localhost:8000/admin/upload",
onSuccess: function(file, response) {// 服务器返回的数据是原始数据
// 把返回的json字符串转换成js中的对象
var rs = eval('(' + response + ')');
// console.log(rs);
if (rs.status === true) {
// 上传成功
$('#carousel_imgs-container').append('<input name="carousel_imgs[]" type="hidden" value="' + rs.path + '" />');
layer.ssage);
$('#uploadList_' + file.index).data('path', rs.path);// 在图片上传成功后,把图片的地址保存在预览框的div上
}
},
loadPicRemove: function() {
var path = $(this).parents('.upload_append_list').data('path');
$('input[value="' + path + '"]').remove();
$(this).parents('.upload_append_list').remove();
}
});
$(document).on('ated', function(event, formdata, zyFile) {
zyFile.uploadFileName = 'file';
formdata.append('_token', 'vOSEWFgq07qP0BjMlGX8pzna2RiUhw70AwMYUs1l');
});
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论