jquery-form.js 兼容IE8 IE9等以上火狐谷歌等浏览器

10 篇文章 0 订阅
1 篇文章 0 订阅

最近做了一个文件上传 用ajaxfileupload.js 在火狐 谷歌 IE9及以上版本可用  为了兼容IE8  找到了jquery-form.js

html 代码:

<form id="form1" name="form1" runat="server" method="post" enctype="multipart/form-data">
           <input type="file" name="fileName" id="fileName" />
            <a class="easyui-linkbutton" iconCls="icon-up"  οnclick="upload()" href="javascript:void(0);">上传</a>
</form>

js代码:

function upload(){
        if($("#fileName").val()==""){
            $.messager.alert("操作提示","请点击浏览按钮 选择文件");
            return false;
        }
      
        var form = $("form[name=form1]");  
        var options  = {    
            url:'${ctx}/CostMsg/upFile',    
            type:'post',
            data:{'id':$("#chargesId").val()},    
            success:function(data)    
            {    
                var jsondata = eval("("+data+")");
                if(jsondata.success){
                    $("#fileName").val("");
                    var fileName = jsondata.msg;
                    $("#chargesId").val(jsondata.obj);
                    var html="<div style='float:left;margin:5px'><div οnclick='deleteImage(this);'><img  style='float:right' src='${static}/js/jquery-easyui-1.2.6/themes/icons/cancel.png'/></div><a href='javascript:void(0);' style='margin:5px' ><img src='${static}/uploadFiles/chargesFile/"+fileName+"' width='140' height='140' /></a></div>";
                     $('#upImage').append(html);   
                }else{  
                    var message = jsondata.msg;  
                    $("#messageTip").html("<span style='color:red'>"+message+"</span>");
                }  
            }    
        };    
        form.ajaxSubmit(options);
    
    }  

controllor代码:

/**
     * 文件上传
     * @param apkFile
     * @param request
     * @param id
     * @return Json
     */
    @RequestMapping(value = "/upFile")
    @ResponseBody
    public void upFile(@RequestParam("fileName") MultipartFile fileName,HttpServletRequest request,HttpServletResponse response,String id) {
        try {
            Json json=new Json();
            response.setContentType("text/html");
            json=CostMsgService.upFile(fileName,request, response,id);
            response.setContentType("text/html; charset=UTF-8");
            PrintWriter out = response.getWriter();
             out.println(JSONObject.toJSONString(json));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

service代码:

@Override
    public Json upFile(MultipartFile file,HttpServletRequest request,HttpServletResponse response,String id) {
        Json json=new Json();
        try {
            String[] types=new String[]{".jpg",".png",".jpeg",".bmp",".zip",".JPG",".PNG",".JPEG",".BMP",".ZIP"};
            // 文件保存目录路径  
            String savePath = request.getSession().getServletContext().getRealPath("/")+ "static/"+Upload_Directory;  
            // 文件保存目录URL  
            String saveUrl = request.getContextPath() +"/static/"+ Upload_Directory;  
            // 定义允许上传的文件扩展名  
            File inbox = new File(savePath); //判断文件夹是否存在
            if (!inbox.exists()) {
                inbox.mkdirs();
            }
            File inbox1 = new File(saveUrl); //判断文件夹是否存在
            if (!inbox1.exists()) {
                inbox1.mkdirs();
            }
            // 最大文件大小  
            long maxSize = 3145728;  
            if (!ServletFileUpload.isMultipartContent(request)) {
                json.setMsg("请选择文件");
                json.setSuccess(false);
                return  json;
            }  
            String originFileName=file.getOriginalFilename();
            String suffix=originFileName.indexOf(".") !=-1?

           originFileName.substring(originFileName.lastIndexOf("."), originFileName.length()):null;
            String str = System.currentTimeMillis()+"";
            String newFileName=str+suffix;

            String dirName = request.getParameter("dir");  
            if (dirName == null) {  
                dirName = "image";  
            }
            // 检查文件大小  
            if (file.getSize() > maxSize) {  
                json.setMsg("上传文件大小超过限制。最大3M");
                json.setSuccess(false);
                return json;  
            }  
            // 检查扩展名  

            if (!Arrays.<String> asList(types).contains(suffix)) {  
                json.setMsg("上传文件扩展名是不允许的扩展名。\n只允许jpg,jpeg,png,bmp,zip 格式。");
                json.setSuccess(false);
                return json;  
            }
            IdGenerator idG=new IdGenerator();
            String chargesId=id;
            if(id==null||id.length()==0){
                chargesId=idG.getLongValue()+"";
            }
            if(suffix!=null){
                FileUtils.copyInputStreamToFile(file.getInputStream(), new File(savePath, newFileName));
                FileUtils.copyInputStreamToFile(file.getInputStream(), new File(saveUrl, newFileName));
                CostMsgDao.executeSql("insert into t_jy_file (ID,TABLE_ID,FILE_NAME,TABLE_NAME) values('"+str+"','"+chargesId+"','"+newFileName+"','t_jy_deductionrecord')");
                json.setMsg(newFileName);
                json.setObj(chargesId);
                json.setSuccess(true);
                logger.error("file upload success:"+originFileName+" file length is"+file.getSize());
                return json;
            }else {
                logger.error("不能识别该文件 或文件已损坏:"+originFileName);
                return json;
            }  
        } catch (Exception e) {  
            e.printStackTrace();
            return json;
        }  

    } 
该代码已经过测试 并上线使用
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个错误通常是由于在使用 jQuery TableSorter 插件时出现了问题。根据报错信息,错误发生在 `multisort` 函数的第 638 行,指示无法读取未定义的属性 `'type'`。 我无法提供具体的解决方案,因为我没有你的代码或更多的上下文信息。但是,以下是一些可能的原因和解决方案: 1. 确保正确加载了 jQuery 和 TableSorter 插件。在你的 HTML 文件中,确保先引入 jQuery 库,然后再引入 TableSorter 插件。例如: ```html <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="path/to/jquery.tablesorter.js"></script> ``` 2. 检查 jQuery 和 TableSorter 的版本兼容性。确保使用的 TableSorter 插件版本与你的 jQuery 版本兼容。有时,不同版本的插件可能需要特定版本的 jQuery 才能正常工作。你可以查看 TableSorter 插件的文档或官方网站,了解它所需的最低 jQuery 版本。 3. 确保正确初始化 TableSorter 插件。在加载完 TableSorter 插件之后,在你的 JavaScript 代码中使用以下方式初始化 TableSorter: ```javascript $(document).ready(function() { // 选择要应用 TableSorter 的表格,并调用 tablesorter() 方法 $("#your-table-id").tablesorter(); }); ``` 请将上述代码中的 `#your-table-id` 替换为你实际需要应用 TableSorter 插件的表格的 ID 或选择器。 如果以上解决方案都不能解决问题,请提供更多关于你的代码和环境的详细信息,以便我能够更好地帮助你解决这个问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值