文件上传一般是用jquery的uploadify,比较好用。后面会出文章介绍uploadify这个插件。

但是,有时候为了偷懒,直接就用input 的file进行文件和图片等的上传,input file 可以控制上传的格式,但是是html5,很多浏览器不支持,请看我的文章对input file上传类型的控制

下面我用javascript来控制文件上传的大小和类型。

贴出html代码:

<form  action="后端接口" enctype="multipart/form-data" method="post" id="attachment_uploads">
<div class="attachs fl">
<div class="t_fjfont">附件:</div>
<div class="upload_btns"><input type="file" name="file" id="file" onchange="fileChange(this);" /> </div>
</div>
<div class="attachs fl">
<div class="t_fjfont" style="color:red;font-size:12px;font-weight:bold">文件上限2MB</d
</div>
<div class="attachs fl">
<div class="upload_btns"><input type="file" name="files" id="file_fujian" onchange="filefujianChange(this);" /> <input type="hidden" name="rev" class="hide_rev" /></div>
</div>
</form>

javascript代码:

var isIE = /msie/i.test(navigator.userAgent) && !window.opera;

function fileChange(target) {
var fileSize = 0;
if (isIE && !target.files) {
var filePath = target.value;
var fileSystem = new ActiveXObject("Scripting.FileSystemObject");
var file = fileSystem.GetFile (filePath);
fileSize = file.Size;
} else {
fileSize = target.files[0].size;
}
var size = fileSize / 1024;
if(size>2000){
alert("附件不能大于2M");
target.value="";
return
}
var name=target.value;
var fileName = name.substring(name.lastIndexOf(".")+1).toLowerCase();
if(fileName !="xls" && fileName !="xlsx"){
alert("请选择execl格式文件上传!");
target.value="";
return
}
} function filefujianChange(target) {
var fileSize = 0;
if (isIE && !target.files) {
var filePath = target.value;
var fileSystem = new ActiveXObject("Scripting.FileSystemObject");
var file = fileSystem.GetFile (filePath);
fileSize = file.Size;
} else {
fileSize = target.files[0].size;
}
var size = fileSize / 1024;
if(size>2000){
alert("附件不能大于2M");
target.value="";
return
}
var name=target.value;
var fileName = name.substring(name.lastIndexOf(".")+1).toLowerCase();
if(fileName !="jpg" && fileName !="jpeg" && fileName !="pdf" && fileName !="png" && fileName !="dwg" && fileName !="gif" ){
alert("请选择图片格式文件上传(jpg,png,gif,dwg,pdf,gif等)!");
target.value="";
return
}
}

上面代码当时为了考虑兼容问题,没有写html5的文件上传控制,直接在js中控制了。本代码支持所有主流浏览器!兼容性还是可以的!欢迎交流!

原文链接

最新文章

  1. js禁止页面刷新禁止用F5键刷新,禁止右键
  2. [Think In Java]基础拾遗3 - 容器、I/O、NIO、序列化
  3. hibernate的一种报错
  4. VTK初学一,a_Vertex图形点的绘制
  5. Magento中调用JS文件的几种方法
  6. 【Android代码片段之八】监听Android屏幕是否锁屏
  7. 理解MVVM模式
  8. FindMe
  9. 转载 SharePoint开发部署WSP解决方案包
  10. PowerShell运行cmd命令
  11. 怎样在delphi中实现控件和窗体的拖拽
  12. mvc的视图中显示DataTable的方法
  13. 20151211--EL表达式语言
  14. 一、Hadoop学习笔记————概述
  15. Filter 中空指针错误
  16. Java 8 新特性:4-断言(Predicate)接口
  17. 网络测试工具 - QCheck
  18. 用eclipse调试scala工程代码
  19. Linux命令应用大词典-第1章 登录、退出、关机和重启
  20. count 【mysql】

热门文章

  1. C/S结构 B/S结构
  2. canvas画布上定位点击位置
  3. iOS-学习UIKIt框架的重要性
  4. Android命名格式化详解
  5. BZOJ4700 适者(贪心+cdq分治+斜率优化)
  6. Codeforces Round #510 Div. 2 Virtual Participate记
  7. 转:Conjugate prior-共轭先验的解释
  8. [洛谷P2106]Sam数
  9. [Leetcode] sqrt 开根号
  10. odex文件格式