无为清净楼资源网 Design By www.qnjia.com
复制代码 代码如下:
(function() {
if (window.FileUpload) {
return;
}
window.FileUpload = function (id, url) {
this.id = id;
this.autoUpload = true;
this.url = url;
this.maxSize = null;
this.extensions = null;
this.dropId = null;
};
window.FileUpload.prototype.init = function() {
var obj = this;
$('#' + this.id).change(function () {
if (obj.autoUpload) {
obj.upload();
}
});
if (this.supportsFormData()) {
if (this.dropId != null) {
var drop = $('#' + this.dropId)[0];
drop.addEventListener("dragover", function(e) {
e.stopPropagation();
e.preventDefault();
$('#' + obj.dropId).addClass("dragover");
}, false);
drop.addEventListener("dragout", function(e) {
$('#' + obj.dropId).removeClass("dragover");
}, false);
drop.addEventListener("drop", function(e) {
e.stopPropagation();
e.preventDefault();
$('#' + obj.dropId).removeClass("dragover");
obj._uploadUsingFormData(e.dataTransfer.files[0]);
}, false);
}
} else {
if (this.dropId != null) {
$('#' + this.dropId).hide();
}
}
};
FileUpload.prototype.supportsFormData = function() {
return window.FormData != undefined;
};
FileUpload.prototype.upload = function() {
if (this.supportsFormData()) {
this._uploadUsingFormData($("#" + this.id)[0].files[0]);
} else {
this._uploadUsingFrame();
}
};
FileUpload.prototype._uploadUsingFrame = function() {
var obj = this;
var $frame = $('#uploadFrame');
if ($frame.length == 0) {
$frame = $('<iframe id="uploadFrame" width="0" height="0" name="uploadFrame" src="/UploadFiles/2021-04-02/">$frame.appendTo("body");
$frame.load(function() {
var response = $frame.contents().text();
try {
var json = $.parseJSON(response);
$(obj).trigger("onLoad", json);
} catch(ex) {
$(obj).trigger("onError", response);
}
});
}
var form = $("#" + this.id).closest("form")[0];
form.target = 'uploadFrame';
form.submit();
};
FileUpload.prototype._uploadUsingFormData = function (file) {
var obj = this;
var xhr = new XMLHttpRequest();
xhr.addEventListener("load", function (e) {
var json = $.parseJSON(xhr.response);
$(obj).trigger("onLoad", json);
}, false);
xhr.addEventListener("error", function (e) {
$(obj).trigger("onError", e);
}, false);
xhr.upload.addEventListener("progress", function (e) {
if (e.lengthComputable) {
$(obj).trigger("onProgress", e.loaded, e.total);
}
}, false);
xhr.open("POST", obj.url);
if (obj.maxSize != null&&file.size>obj.maxSize) {
$(obj).trigger("onMaxSizeError");
return;
}
if (obj.extensions != null) {
var name = file.name;
var ext = name.substring(name.lastIndexOf("."), name.length).toLowerCase();
if (obj.extensions.indexOf(ext) < 0) {
$(obj).trigger("onExtensionError");
return;
}
}
var formData = new FormData();
formData.append("files", file);
xhr.send(formData);
};
FileUpload.prototype.onLoad = function(handler) {
$(this).bind("onLoad", function(sender, args) {
handler && handler(args);
});
};
FileUpload.prototype.onProgress = function (handler) {
$(this).bind("onProgress", function(sender, loaded, total) {
handler && handler(loaded, total);
});
};
FileUpload.prototype.onError = function (handler) {
$(this).bind("onError", function(sender, error) {
handler && handler(error);
});
};
FileUpload.prototype.onMaxSizeError = function(handler) {
$(this).bind("onMaxSizeError", handler);
};
FileUpload.prototype.onExtensionError = function (handler) {
$(this).bind("onExtensionError", handler);
};
})();
(function() {
if (window.FileUpload) {
return;
}
window.FileUpload = function (id, url) {
this.id = id;
this.autoUpload = true;
this.url = url;
this.maxSize = null;
this.extensions = null;
this.dropId = null;
};
window.FileUpload.prototype.init = function() {
var obj = this;
$('#' + this.id).change(function () {
if (obj.autoUpload) {
obj.upload();
}
});
if (this.supportsFormData()) {
if (this.dropId != null) {
var drop = $('#' + this.dropId)[0];
drop.addEventListener("dragover", function(e) {
e.stopPropagation();
e.preventDefault();
$('#' + obj.dropId).addClass("dragover");
}, false);
drop.addEventListener("dragout", function(e) {
$('#' + obj.dropId).removeClass("dragover");
}, false);
drop.addEventListener("drop", function(e) {
e.stopPropagation();
e.preventDefault();
$('#' + obj.dropId).removeClass("dragover");
obj._uploadUsingFormData(e.dataTransfer.files[0]);
}, false);
}
} else {
if (this.dropId != null) {
$('#' + this.dropId).hide();
}
}
};
FileUpload.prototype.supportsFormData = function() {
return window.FormData != undefined;
};
FileUpload.prototype.upload = function() {
if (this.supportsFormData()) {
this._uploadUsingFormData($("#" + this.id)[0].files[0]);
} else {
this._uploadUsingFrame();
}
};
FileUpload.prototype._uploadUsingFrame = function() {
var obj = this;
var $frame = $('#uploadFrame');
if ($frame.length == 0) {
$frame = $('<iframe id="uploadFrame" width="0" height="0" name="uploadFrame" src="/UploadFiles/2021-04-02/">$frame.appendTo("body");
$frame.load(function() {
var response = $frame.contents().text();
try {
var json = $.parseJSON(response);
$(obj).trigger("onLoad", json);
} catch(ex) {
$(obj).trigger("onError", response);
}
});
}
var form = $("#" + this.id).closest("form")[0];
form.target = 'uploadFrame';
form.submit();
};
FileUpload.prototype._uploadUsingFormData = function (file) {
var obj = this;
var xhr = new XMLHttpRequest();
xhr.addEventListener("load", function (e) {
var json = $.parseJSON(xhr.response);
$(obj).trigger("onLoad", json);
}, false);
xhr.addEventListener("error", function (e) {
$(obj).trigger("onError", e);
}, false);
xhr.upload.addEventListener("progress", function (e) {
if (e.lengthComputable) {
$(obj).trigger("onProgress", e.loaded, e.total);
}
}, false);
xhr.open("POST", obj.url);
if (obj.maxSize != null&&file.size>obj.maxSize) {
$(obj).trigger("onMaxSizeError");
return;
}
if (obj.extensions != null) {
var name = file.name;
var ext = name.substring(name.lastIndexOf("."), name.length).toLowerCase();
if (obj.extensions.indexOf(ext) < 0) {
$(obj).trigger("onExtensionError");
return;
}
}
var formData = new FormData();
formData.append("files", file);
xhr.send(formData);
};
FileUpload.prototype.onLoad = function(handler) {
$(this).bind("onLoad", function(sender, args) {
handler && handler(args);
});
};
FileUpload.prototype.onProgress = function (handler) {
$(this).bind("onProgress", function(sender, loaded, total) {
handler && handler(loaded, total);
});
};
FileUpload.prototype.onError = function (handler) {
$(this).bind("onError", function(sender, error) {
handler && handler(error);
});
};
FileUpload.prototype.onMaxSizeError = function(handler) {
$(this).bind("onMaxSizeError", handler);
};
FileUpload.prototype.onExtensionError = function (handler) {
$(this).bind("onExtensionError", handler);
};
})();
标签:
文件上传,JS控件
无为清净楼资源网 Design By www.qnjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
无为清净楼资源网 Design By www.qnjia.com
暂无评论...
更新日志
2024年10月04日
2024年10月04日
- 群星《前途海量 电影原声专辑》[FLAC/分轨][227.78MB]
- 张信哲.1992-知道新曲与精丫巨石】【WAV+CUE】
- 王翠玲.1995-ANGEL【新艺宝】【WAV+CUE】
- 景冈山.1996-我的眼里只有你【大地唱片】【WAV+CUE】
- 群星《八戒 电影原声带》[320K/MP3][188.97MB]
- 群星《我的阿勒泰 影视原声带》[320K/MP3][139.47MB]
- 纪钧瀚《胎教古典音乐 钢琴与大提琴的沉浸时光》[320K/MP3][148.91MB]
- 刘雅丽.2001-丽花皇后·EMI精选王【EMI百代】【FLAC分轨】
- 齐秦.1994-黄金十年1981-1990CHINA.TOUR.LIVE精丫上华】【WAV+CUE】
- 群星.2008-本色·百代音乐人创作专辑【EMI百代】【WAV+CUE】
- 群星.2001-同步过冬AVCD【环球】【WAV+CUE】
- 群星.2020-同步过冬2020冀待晴空【环球】【WAV+CUE】
- 沈雁.1986-四季(2012梦田复刻版)【白云唱片】【WAV+CUE】
- 纪钧瀚《胎教古典音乐 钢琴与大提琴的沉浸时光》[FLAC/分轨][257.88MB]
- 《国语老歌 怀旧篇 3CD》[WAV/分轨][1.6GB]