我的盗qq号多少钱被同学盗了,把我的钱弄没了,可他就是不承认,我也想盗他的号,我好生气,怎样盗号,除了申诉

首先声明一下,我这个是对WebUploader开源上传控件的二次封装,底层还是WebUploader实现的,只是为了更简洁的使用他而已.
下面先介绍一下WebUploader
WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件。在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流IE浏览器,沿用原来的FLASH运行时,兼容IE6+,iOS 6+, android 4+。两套运行时,同样的调用方式,可供用户任意选用。
采用大文件分片并发上传,极大的提高了文件上传效率。
官网地址:/webuploader/
有兴趣想自己玩的的可以直接移步官网
下面我们开始正文内容:
从上面我们可以看到百度的这个WebUploader功能确实很强大,但是和所有的上传控件一样,使用起来比较繁琐比如下面这样:
你需要先引用一大堆相关的类库,
然后还要写好HTML
然后写大量的JS,比如:
var uploader = WebUploader.create({
// swf文件路径
swf: BASE_URL + '/js/Uploader.swf',
// 文件接收服务端。
server: '/server/fileupload.php',
// 选择文件的按钮。可选。
// 内部根据当前运行是创建,可能是input元素,也可能是flash.
pick: '#picker',
// 不压缩image, 默认如果是jpeg,文件上传前会压缩一把再上传!
resize: false
uploader.on( 'uploadProgress', function( file, percentage ) {
var $li = $( '#'+file.id ),
$percent = $li.find('.progress .progress-bar');
// 避免重复创建
if ( !$percent.length ) {
$percent = $('&div class="progress progress-striped active"&' +
'&div class="progress-bar" role="progressbar" style="width: 0%"&' +
'&/div&' +
'&/div&').appendTo( $li ).find('.progress-bar');
$li.find('p.state').text('上传中');
$percent.css( 'width', percentage * 100 + '%' );
//....以下省略,配置各种参数和情况
这些我们通通不要!,只要两句话,搞定我们的上传.如下:
//创建一个容器
&div id="uploader" style="margin-left:10px"&&/div&
$(function () {
//渲染容器
$("#uploader").powerWebUpload({ auto: false,fileNumLimit:5 });
function GetFiles1() {
//获取上传的文件地址
var data = $("#uploader").GetFilesAddress();
alert(data[0])
简单快捷,效果如下:
我已经写好了bootstrap风格的css会自动引用,
支持多文件上传,
自动判别重复文件,
可选自动上传和手动上传,
可以页面中渲染多个上传控件,不冲突
然后一些WebUploader相关的配置参数都是可以直接自己配置的.
下面我们直接上我封装好的JS小插件(有点乱,大家凑合看):
(function ($, window) {
var applicationPath = window.applicationPath === "" ? "" : window.applicationPath || "../..";
function SuiJiNum() {
return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
function initWebUpload(item, options) {
if (!WebUploader.Uploader.support()) {
var error = "上传控件不支持您的浏览器!请尝试升级flash版本或者使用Chrome引擎的浏览器。&a target='_blank' href=''&下载页面&/a&";
if (window.console) {
window.console.log(error);
$(item).text(error);
//创建默认参数
var defaults = {
auto:true,
hiddenInputId: "uploadifyHiddenInputId", // input hidden id
onAllComplete: function (event) { }, // 当所有file都上传后执行的回调函数
onComplete: function (event) { },// 每上传一个file的回调函数
innerOptions: {},
fileNumLimit: undefined,//验证文件总数量, 超出则不允许加入队列
fileSizeLimit: undefined,//验证文件总大小是否超出限制, 超出则不允许加入队列。
fileSingleSizeLimit: undefined,//验证单个文件大小是否超出限制, 超出则不允许加入队列
PostbackHold: false
var opts = $.extend(defaults, options);
var hdFileData = $("#" + opts.hiddenInputId);
var target = $(item);//容器
var pickerid = "";
if (typeof guidGenerator36 != 'undefined')//给一个唯一ID
pickerid = guidGenerator36();
pickerid = (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
var uploaderStrdiv = '&div class="webuploader"&'
if (opts.auto) {
uploaderStrdiv =
'&div id="Uploadthelist" class="uploader-list"&&/div&' +
'&div class="btns"&' +
'&div id="' + pickerid + '"&选择文件&/div&' +
uploaderStrdiv =
class="uploader-list"&&/div&' +
'&div class="btns"&' +
'&div id="' + pickerid + '"&选择文件&/div&' +
'&button class="webuploadbtn"&开始上传&/button&' +
uploaderStrdiv += '&div style="display:none" class="UploadhiddenInput" &\
uploaderStrdiv+='&/div&';
target.append(uploaderStrdiv);
var $list = target.find('.uploader-list'),
$btn = target.find('.webuploadbtn'),//手动上传按钮备用
state = 'pending',
$hiddenInput = target.find('.UploadhiddenInput'),
var jsonData = {
fileList: []
var webuploaderoptions = $.extend({
// swf文件路径
swf: applicationPath + '/Scripts/lib/webuploader/Uploader.swf',
// 文件接收服务端。
'/Home/AddFile',
deleteServer:'/Home/DeleteFile',
// 选择文件的按钮。可选。
// 内部根据当前运行是创建,可能是input元素,也可能是flash.
pick: '#' + pickerid,
//不压缩image, 默认如果是jpeg,文件上传前会压缩一把再上传!
resize: false,
fileNumLimit: opts.fileNumLimit,
fileSizeLimit: opts.fileSizeLimit,
fileSingleSizeLimit: opts.fileSingleSizeLimit
opts.innerOptions);
var uploader = WebUploader.create(webuploaderoptions);
//回发时还原hiddenfiled的保持数据
var fileDataStr = hdFileData.val();
if (fileDataStr && opts.PostbackHold) {
jsonData = JSON.parse(fileDataStr);
$.each(jsonData.fileList, function (index, fileData) {
var newid = SuiJiNum();
fileData.queueId =
$list.append('&div id="' + newid + '" class="item"&' +
'&div class="info"&' + fileData.name + '&/div&' +
'&div class="state"&已上传&/div&' +
'&div class="del"&&/div&' +
'&/div&');
hdFileData.val(JSON.stringify(jsonData));
if (opts.auto) {
uploader.on('fileQueued', function (file) {
$list.append('&div id="' + $(item)[0].id + file.id + '" class="item"&' +
'&span class="webuploadinfo"&' + file.name + '&/span&' +
'&span class="webuploadstate"&正在上传...&/span&' +
'&div class="webuploadDelbtn"&删除&/div&&br /&' +
'&/div&');
uploader.upload();
uploader.on('fileQueued', function (file) {//队列事件
$list.append('&div id="' + $(item)[0].id + file.id + '" class="item"&' +
'&span class="webuploadinfo"&' + file.name + '&/span&' +
'&span class="webuploadstate"&等待上传...&/span&' +
'&div class="webuploadDelbtn"&删除&/div&&br /&' +
'&/div&');
uploader.on('uploadProgress', function (file, percentage) {//进度条事件
var $li = target.find('#' + $(item)[0].id + file.id),
$percent = $li.find('.progress .bar');
// 避免重复创建
if (!$percent.length) {
$percent = $('&span class="progress"&' +
class="percentage"&&span class="text"&&/span&' +
'&span class="bar" role="progressbar" style="width: 0%"&' +
'&/span&&/span&' +
'&/span&').appendTo($li).find('.bar');
$li.find('span.webuploadstate').html('上传中');
$li.find(".text").text(Math.round(percentage * 100) + '%');
$percent.css('width', percentage * 100 + '%');
uploader.on('uploadSuccess', function (file, response) {//上传成功事件
if (response.state == "error") {
target.find('#' + $(item)[0].id + file.id).find('span.webuploadstate').html(response.message);
target.find('#' + $(item)[0].id + file.id).find('span.webuploadstate').html('已上传');
$hiddenInput.append('&input type="text" id="hiddenInput'+$(item)[0].id + file.id + '" class="hiddenInput" value="' + response.message + '" /&')
uploader.on('uploadError', function (file) {
target.find('#' + $(item)[0].id + file.id).find('span.webuploadstate').html('上传出错');
uploader.on('uploadComplete', function (file) {//全部完成事件
target.find('#' + $(item)[0].id + file.id).find('.progress').fadeOut();
uploader.on('all', function (type) {
if (type === 'startUpload') {
state = 'uploading';
} else if (type === 'stopUpload') {
state = 'paused';
} else if (type === 'uploadFinished') {
state = 'done';
if (state === 'uploading') {
$btn.text('暂停上传');
$btn.text('开始上传');
//删除时执行的方法
uploader.on('fileDequeued', function (file) {
var fullName = $("#hiddenInput" + $(item)[0].id + file.id).val();
if (fullName!=null) {
$.post(webuploaderoptions.deleteServer, { fullName: fullName }, function (data) {
alert(data.message);
$("#"+ $(item)[0].id + file.id).remove();
$("#hiddenInput" + $(item)[0].id + file.id).remove();
//多文件点击上传的方法
$btn.on('click', function () {
if (state === 'uploading') {
uploader.stop();
uploader.upload();
$list.on("click", ".webuploadDelbtn", function () {
var $ele = $(this);
var id = $ele.parent().attr("id");
var id = id.replace($(item)[0].id, "");
var file = uploader.getFile(id);
uploader.removeFile(file);
$.fn.GetFilesAddress = function (options) {
var ele = $(this);
var filesdata = ele.find(".UploadhiddenInput");
var filesAddress = [];
filesdata.find(".hiddenInput").each(function () {
filesAddress.push($(this).val());
return filesA
$.fn.powerWebUpload = function (options) {
var ele = this;
if (typeof WebUploader == 'undefined') {
var casspath = applicationPath + "/Scripts/webuploader/webuploader.css";
$("&link&").attr({ rel: "stylesheet", type: "text/css", href: casspath }).appendTo("head");
var jspath = applicationPath + "/Scripts/webuploader/webuploader.min.js";
$.getScript(jspath) .done(function() {
initWebUpload(ele, options);
.fail(function() {
alert("请检查webuploader的路径是否正确!")
initWebUpload(ele, options);
})(jQuery, window);
一些相关的比较重要的参数都写了注释,大家自行参考即可.
然后我们来使用他.
//引入JS,记得要先引入jquery
&script src="~/Scripts/jquery-1.10.2.min.js"&&/script&
&script src="~/Scripts/MyWebUpload.js"&&/script&
写好我们的JS和HTML如下:
$(function () {
$("#uploader").powerWebUpload({ auto: false,fileNumLimit:5 });
function GetFiles1() {
var data = $("#uploader").GetFilesAddress();
alert(data[0])
&div id="uploader" style="margin-left:10px"&&/div&
&input type="button" value="1111"
onclick="GetFiles1()"/&
这样就OK了,值得注意的是
powerWebUpload中的参数请参考官网的API
GetFilesAddress()方法会返回上传之后文件路径的数组,大家自行获取.最后上一个我写好的demo,采用Asp.net MVC实现的,大家自行下载:
链接: /s/1o8B0xOQ 密码: 9kws
阅读(...) 评论()
.........................................作者:顾振印出处:/GuZhenYin/本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面2022人阅读
前端开发(46)
HTML5(27)
手机开发(54)
网站开发少不了上传的功能,一般PC端常用的是jquery uploadify
但是移动端是不支持flash的,但是移动端对html5的支持力度是非常强的,没有必要使用flash方案。
推荐使用baidu fex的WebUploader
项目地址:
移动端注意事项:
对于性能和功能要求没有那么高的,可以使用dropzone.js
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:2130767次
积分:23760
积分:23760
排名:第223名
原创:406篇
转载:296篇
译文:10篇
评论:356条
(3)(1)(1)(1)(1)(1)(1)(3)(2)(3)(1)(1)(1)(2)(3)(3)(1)(1)(1)(3)(3)(1)(1)(3)(2)(1)(6)(4)(4)(3)(5)(4)(5)(3)(6)(7)(4)(8)(2)(7)(1)(5)(2)(8)(9)(7)(9)(5)(15)(22)(8)(26)(14)(16)(16)(11)(13)(13)(12)(13)(6)(5)(4)(9)(16)(13)(6)(9)(11)(8)(1)(7)(5)(14)(9)(15)(6)(12)(5)(20)(10)(18)(21)(17)(3)(5)(16)(18)(28)(22)(5)(5)(5)(14)(7)(1)(2)

我要回帖

更多关于 此qq号已被盗若涉及钱 的文章

 

随机推荐