欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JS文件上传/下载(代码实例)

程序员文章站 2023-11-12 18:39:40
项目需要 文件上传/下载 想用一个轻量级的框架,但是在网上搜索都没有找到于是想自己手写一个,但是由于限制不允许获取本地路径(ie除外)所以还是用了框架 ajaxfileupload 超轻量级的 js...

项目需要 文件上传/下载 想用一个轻量级的框架,但是在网上搜索都没有找到于是想自己手写一个,但是由于限制不允许获取本地路径(ie除外)所以还是用了框架 ajaxfileupload 超轻量级的

jsp文件

<tr>  
 <td>上传附件:</td>  
  <td colspan="3">  
  <!-- 提交所用到的表单  -->  
    <form>  
    <!-- 显示上传文件名的文本框 disabled="value" 设置文本框为只读-->  
        <input type="text"  disabled="value" name="uploadfile" id="uploadfile" style="width:300px;" class="float" >  
        <!-- file 框(原生的太难看,还改变不了样式,所以隐藏掉) 设置的onchange是为了实现自动上传(自动触发ajax) -->  
        <input type="file" name="upload_file" id="upload_file"  style="display:none" onchange="changevalue(this);"/>  
    </form>    
    <!-- 调取file 框的点击事件  -->  
        <a href="#" onclick="ll()">     
        <!-- 把一个图片当作按钮显示,主要作用就是好看点 -->  
        <img src="images/jyxc_butll.jpg" type="submit" width="57" height="30" class="jyxc_butll"> <!-- 浏览 -->  
    </a>  
  </td>  
</tr>  

js

//调用file框的点击事件  
function ll(){  
    upload_file.click(function(){})  
}  
//change事件  
 function changevalue(e){  
    var file = e.files[0];    
    var path=e.value  
        //给文本框设置文件名称  
         $("#uploadfile").val(file.name);  
      
 // 获取filelist的第一个元素  
    $.ajaxfileupload({  
              url:,//用于文件上传的服务器端请求地址  
              secureuri:false,//一般设置为false  
              fileelementid:"upload_file",//文件上传空间的id属性  <input type="file" id="file" name="file" />  
              datatype: 'json',//返回值类型 一般设置为json  
              success: function (data){  
                  if(data.success){  
                     url=data.message;  
                  }else{  
                     alert("图片格式不正确");  
                  }  
              },  
              error: function (data)//服务器响应失败处理函数  
              {  
                  alert("服务器异常");  
              }  
          });  
};  

以上是文件上传的功能,下面是下载!

下载其实超级简单,但是在网上找的信息很多都是不对的 只言片语不知道从哪粘过来的 我也是弄了好长时间才搞定,其实就几行代码

jsp  
  就是一个a标签  
<a  href='#' id="lj" ></a>  
  
如果确定路径,及文件名可以这样写 举个栗子  
  <a  href=https://www.2cto.com/uploadfile/2018/0324/20180324104139440.com/&' download="161616116518181.jpg"  id="lj" ></a>  
这样浏览器就知道是要下载操作了  href 是地址  download 是文件名 ,但是不是所有浏览器都支持 谷歌支持 火狐会打开文件 

js文件

//$("#lj").attr("href",zc+upload);//$("#lj").attr("download",file);