如何从javascript验证不超过1MB的照片上传
我使用的是asp.net,我有一个html上载控件,从中调用了如何从javascript验证不超过1MB的照片上传,javascript,jquery,html,asp.net,file-upload,Javascript,Jquery,Html,Asp.net,File Upload,我使用的是asp.net,我有一个html上载控件,从中调用了ValidatePhotographToUploadonChange事件。我无法验证 我的html代码如下 <input id="fupEventImage" type="file" size="45" name="LogoUploadedToUpload" class="imguploader" onchange="re
ValidatePhotographToUpload
onChange事件。我无法验证
我的html代码如下
<input id="fupEventImage" type="file" size="45" name="LogoUploadedToUpload"
class="imguploader" onchange="return validatePhotographToUpload();" />
我的javascript代码如下所示:
function ajaxFileUpload() {
$("#FileLoading")
.ajaxStart(function () {
$(this).show();
})
.ajaxComplete(function () {
$(this).hide();
});
$.ajaxFileUpload
(
{
url: '<%=ResolveClientUrl("~/Handlers/AjaxFileUploader.ashx?PG=AddNewList&TY=L")%>',
secureuri: false,
fileElementId: 'fupEventImage',
dataType: 'json',
data: { name: 'logan', id: 'id' },
success: function (data, status) {
if (typeof (data.error) != 'undefined') {
if (data.error != '') {
alert(data.error);
} else {
$('[id$=cropImageTarget]').attr('src', '<%= ResolveClientUrl("~/Handlers/DisplayUploadedImage.ashx?T=")%>' + new Date().getTime());
ShowThumbImage();
$("[id$=BodyContentPlaceHolder_ContentPlaceHolder1_btnClearImage2]").show();
$("#disablelayer").show();
}
}
},
error: function (data, status, e) {
alert(e);
}
}
)
return false;
}
function validatePhotographToUpload() {
var uploadcontrol = $('[id$=fupEventImage]').val();
var ext = uploadcontrol.substring(uploadcontrol.lastIndexOf('.') + 1);
if (ext == 'jpg' || ext == 'jpeg' || ext == 'png' || ext == 'JPG' || ext == 'JPEG' || ext == 'PNG') {
alert(uploadcontrol.length);
alert((uploadcontrol.length / 1024) + 'KB');
if (uploadcontrol.length <= 1048576) {
ajaxFileUpload();
$('[id$=LogoPhotoChangeHiddenField]').val('1');
}
else {
jAlert("Warning!", "File Size is Very Large", "Maximum Allowed Size is 1MB.", "Red", false);
$('[id$=fupEventImage]').val("");
}
}
else {
jAlert("Warning!", "Invalid Image Format", "Supported Format(jpg,jpeg,png)", "Red", false);
$('[id$=fupEventImage]').val("");
}
}
函数ajaxFileUpload(){
$(“#文件加载”)
.ajaxStart(函数(){
$(this.show();
})
.ajaxComplete(函数(){
$(this.hide();
});
$.ajaxFileUpload
(
{
url:“”,
secureuri:false,
fileElementId:“fupEventImage”,
数据类型:“json”,
数据:{name:'logan',id:'id'},
成功:功能(数据、状态){
if(typeof(data.error)!=“未定义”){
如果(data.error!=''){
警报(数据错误);
}否则{
$('[id$=cropImageTarget]').attr('src',''+newdate().getTime());
showtumbimage();
$(“[id$=BodyContentPlaceHolder\u ContentPlaceholder 1\u btnClearImage2]”。show();
$(“#禁用层”).show();
}
}
},
错误:功能(数据、状态、e){
警报(e);
}
}
)
返回false;
}
函数validatePhotographToUpload(){
var uploadcontrol=$('[id$=fupEventImage]')。val();
var ext=uploadcontrol.substring(uploadcontrol.lastIndexOf('.')+1);
如果(ext=='jpg'| | ext=='jpeg'| | ext=='png'| | ext=='jpg'| | ext=='jpeg'| | ext=='png'){
警报(uploadcontrol.length);
警报((uploadcontrol.length/1024)+“KB”);
如果(uploadcontrol.length检查此示例,可能会对您有所帮助
和a
显示文件数据
身体{
字体系列:无衬线;
}
函数showFileSize(){
var输入,文件;
//(无法使用`typeof FileReader==“function”`因为
//在某些浏览器上,它会以“对象”的形式返回,所以只要看看它是否存在就可以了
//(完全没有。)
如果(!window.FileReader){
bodyAppend(“p”,“此浏览器尚不支持文件API”);
返回;
}
输入=document.getElementById('fileinput');
如果(!输入){
bodyAppend(“p”,“嗯,找不到fileinput元素”);
}
如果(!input.files){
bodyAppend(“p”,“此浏览器似乎不支持文件输入的`files`属性。”);
}
如果(!input.files[0]),则为else{
bodyAppend(“p”,“请在单击“加载”之前选择一个文件”);
}
否则{
file=input.files[0];
bodyAppend(“p”,“File”+File.name+”是“+File.size+”字节大小”);
}
}
函数bodyAppend(标记名,innerHTML){
var-elm;
elm=document.createElement(标记名);
elm.innerHTML=innerHTML;
文件.正文.附件(elm);
}
为什么不使用asp.net控件?
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
<title>Show File Data</title>
<style type='text/css'>
body {
font-family: sans-serif;
}
</style>
<script type='text/javascript'>
function showFileSize() {
var input, file;
// (Can't use `typeof FileReader === "function"` because apparently
// it comes back as "object" on some browsers. So just see if it's there
// at all.)
if (!window.FileReader) {
bodyAppend("p", "The file API isn't supported on this browser yet.");
return;
}
input = document.getElementById('fileinput');
if (!input) {
bodyAppend("p", "Um, couldn't find the fileinput element.");
}
else if (!input.files) {
bodyAppend("p", "This browser doesn't seem to support the `files` property of file inputs.");
}
else if (!input.files[0]) {
bodyAppend("p", "Please select a file before clicking 'Load'");
}
else {
file = input.files[0];
bodyAppend("p", "File " + file.name + " is " + file.size + " bytes in size");
}
}
function bodyAppend(tagName, innerHTML) {
var elm;
elm = document.createElement(tagName);
elm.innerHTML = innerHTML;
document.body.appendChild(elm);
}
</script>
</head>
<body>
<form action='#' onsubmit="return false;">
<input type='file' id='fileinput'>
<input type='button' id='btnLoad' value='Load' onclick='showFileSize();'>
</form>
</body>
</html>