做图片上传的时候用webuploader是个不错的选择,他可以通过简单的配置实现图片的上传预览和处理。
 <!--引入CSS-->
<link rel="stylesheet" type="text/css" href="webuploader文件夹/webuploader.css"> <!--引入JS-->
<script type="text/javascript" src="webuploader文件夹/webuploader.js"></script>
$(function() {
var $list=$("#thelist");
var $btn =$("#commit_btu"); //开始上传按钮
var thumbnailWidth = 1; //缩略图高度和宽度 (单位是像素),当宽高度是0~1的时候,是按照百分比计算,具体可以看api文档
var thumbnailHeight = 1;
var uploader = WebUploader.create({
// swf文件路径
swf:'plugins/webuploader/Uploader.swf', // 文件接收服务端。
server: '${pageContext.request.contextPath }/model/addPath.do', // 选择文件的按钮。可选。
// 内部根据当前运行是创建,可能是input元素,也可能是flash.
pick: '#picker', //上传按钮监听(picker是上传按钮的id)
duplicate :true,//允许重复上传
method: 'POST',
fileNumLimit:1, //限制上传文件队列的大小,超出范围则不允许添加
// 不压缩image, 默认如果是jpeg,文件上传前会压缩一把再上传!
compress:{
width:320,
height:170,
quality:70,
allowMagnify:true,
crop:true
},
accept:{
title: 'image',
extensions: 'jpeg,jpg,png',
mimeTypes: 'image/jpg,image/jpeg,image/png'
},
auto:false
});
// 当有文件添加进来的时候
uploader.on( 'fileQueued', function( file ) {
var $li = $('<div id="' + file.id + '" class="item">' +
'<div><img id=\'showImg\' style="width:320px;height:170px;border: 5px solid #ddd;"></div>'
+'</div>'+ file.name),
$img = $li.find('img');
$("#thelist").html( $li );
// 创建缩略图
// 如果为非图片文件,可以不用调用此方法。
// thumbnailWidth x thumbnailHeight 为 1 x 100
uploader.makeThumb( file, function( error, src ) {
if ( error ) {
$img.replaceWith('<span>不能预览</span>');
return;
}
$img.attr( 'src', src );
}, thumbnailWidth, thumbnailHeight );
});
//手动上传,
$btn.on('click', function() {
var name = $("#name").val();//广告名称
var url = $("#url").val(); //外链接
if(name=='' || url==''){
alert("内容不能为空");
}else if(uploader.getFiles().length==0){
alert("还未选择上传的图片");
}else{
uploader.upload();//开始上传图片
}
});
//选择图片完成前,每次选择图片加入队列的时候重置队列,保证队列中只有一张图片,
uploader.on('beforeFileQueued',function(){
uploader.reset();//为了保证每次队列只上传一张图片,并且不让队列堵塞,所以每次重新选择一张图片之前都会对文件队列尽心一次重置,保证队列为空
});
//上传成功
uploader.on( 'uploadSuccess', function( file,response ) {
$( '#'+file.id ).find('p.state').text('已上传');
$("#thelist").find("img").attr("src",response._raw);
save_img();//图片上传成功后提交数据并保存到数据库(这是自定义方法)
});
//上传失败
uploader.on( 'uploadError', function( file ) {
$( '#'+file.id ).find('p.state').text('上传出错,提交失败');
});
});
</script>

这是做单张图片上传的webuploader配置,

webuploader配置的更多相关文章

  1. Webuploader 大文件分片上传

    百度Webuploader 大文件分片上传(.net接收)   前阵子要做个大文件上传的功能,找来找去发现Webuploader还不错,关于她的介绍我就不再赘述. 动手前,在园子里找到了一篇不错的分片 ...

  2. Vue2.0结合webuploader实现文件分片上传

    Vue项目中遇到了大文件分片上传的问题,之前用过webuploader,索性就把Vue2.0与webuploader结合起来使用,封装了一个vue的上传组件,使用起来也比较舒爽. 上传就上传吧,为什么 ...

  3. 百度Webuploader 大文件分片上传(.net接收)

    前阵子要做个大文件上传的功能,找来找去发现Webuploader还不错,关于她的介绍我就不再赘述. 动手前,在园子里找到了一篇不错的分片上传的帖子,参考之后,踏出了第一步.此文记录我这次实践的点滴,仅 ...

  4. webuploader只选择单张图片

    webuploader只选择单张图片 一.总结 一句话总结: 在WebUploader.create中配置一下pick即可 pick: { id: '#filePicker', multiple:fa ...

  5. webUploader上传大视频文件相关web.config配置

    在webuploader上传大文件时必须配置一下,不然请求后台处理程序时,会请求超时.出现404! <system.web> <httpRuntime maxRequestLengt ...

  6. 对百度WebUploader开源上传控件的二次封装,精简前端代码(两句代码搞定上传)

    前言 首先声明一下,我这个是对WebUploader开源上传控件的二次封装,底层还是WebUploader实现的,只是为了更简洁的使用他而已. 下面先介绍一下WebUploader 简介: WebUp ...

  7. 三款不错的图片压缩上传插件(webuploader+localResizeIMG4+LUploader)

    涉及到网页图片的交互,少不了图片的压缩上传,相关的插件有很多,相信大家都有用过,这里我就推荐三款,至于好处就仁者见仁喽: 1.名气最高的WebUploader,由Baidu FEX 团队开发,以H5为 ...

  8. webuploader 断点续传

    webuploader 实现 断点续传webuploader是百度开发的上传文件前端控件.可支持html5和flash,因此对浏览器的兼容比较好.因为需要用到ie8,ie8不支持html5,所以必须支 ...

  9. WebUploader API

    Uploader new Uploader( opts ) ⇒ Uploader 上传入口类. var uploader = WebUploader.Uploader({ swf: 'path_of_ ...

随机推荐

  1. Oracle批量操作数据库

    1:批量插入 <insert id="insertBatch" parameterType="Java.util.List" > insert in ...

  2. Java经典编程题50道之二十三

    给一个不多于5位的正整数,要求:①求它是几位数:②逆序打印出各位数字. public class Example23 {    public static void main(String[] arg ...

  3. 【netty这点事儿】ByteBuf 的使用模式

    堆缓冲区 最常用的 ByteBuf 模式是将数据存储在 JVM 的堆空间中. 这种模式被称为支撑数组(backing array), 它能在没有使用池化的情况下提供快速的分配和释放. 直接缓冲区 直接 ...

  4. ListIterator的使用

    package cn.lonecloud.Iterator; import java.util.ArrayList; import java.util.ListIterator; public cla ...

  5. MySQL 参数- Innodb_File_Per_Table(独立表空间)

    Innodb存储引擎可将所有数据存放于ibdata*的共享表空间,也可将每张表存放于独立的.ibd文件的独立表空间.共享表空间以及独立表空间都是针对数据的存储方式而言的. 共享表空间某一个数据库的所有 ...

  6. Angular:利用内容投射向组件输入ngForOf模板

    现在,我们写一个组件puppiesListCmp,用于显示小狗狗的列表: //puppies-list.component.ts @Component({ selector: 'puppies-lis ...

  7. css的一些复习

    css,全称Cascading Style Sheets,层叠样式表. css选择器是从右往左解析的,解析速度会比较快. 选择器 选择器权重 !important 优先级最高 元素属性 优先级高 相同 ...

  8. nyoj 取石子(七) 环形博弈

    手推前几个可以知道规律:n>2时是P态,n<=2时是N态. 注意:石子拿去后,剩下的石子是分散的. AC代码 #include <cstdio> #include <cm ...

  9. 个人觉得实用的Python姿势

    以后会陆续补充 偶然在Python Cookbook看到一个format操作,想到一个问题, 感觉用了!r之后,会把传入的对象按照原来形式保留 d = {"foo": " ...

  10. [Note] Apache Flink 的数据流编程模型

    Apache Flink 的数据流编程模型 抽象层次 Flink 为开发流式应用和批式应用设计了不同的抽象层次 状态化的流 抽象层次的最底层是状态化的流,它通过 ProcessFunction 嵌入到 ...