原理: 使用html 的 标签,提交form 的几个属性必须为: method=post encType=multipart/form-data;

组件:smartUpload或者commons fileupload

smartUpload代码实现

1。文件预览

function showImage(obj)

{

var str=obj.value;

$("#id").html("");

}

2.无插件实现上传

//从request中获取文件上传流信息

InputStream file=request.getInputStream();

//把流信息写入磁盘文件

String str="G:/";

File temp=new File("str");//写入文件

//获得输出流

FileOutputStream out=new FileOutputStream(temp);

//循环写入

byte[] b=new Byte[1024];

int n;

while((n=file.read(b))!=-1)

{

out.write(b,0,n);

}

file.close();

out.close();

//获取文件名称和内容

RandomAccessFile f=new RandomAccessFile("temp","r");

f.readLine();

String string=f.readLine();

int beginIndex=string.lastIndexOf("\")+1;

int lastIndex=string.lastIndexOf("\");

String name=string.substr(beginIndex,lastIndex);

getServletContext.getRealPath("/");//getServletContext().getRealPath("/")获取项目路径

文件下载

//定义保存路径

String f=getServletContext().getRealPath("/")+"images/";

String filename=request.getParamter("filename");

response.setContentType("appliaction/x-msdownload");//application/octet-stream;

response.setHeader("Context-Dispoinition","attachment:filename=\"+filename+"\"");

/*

解决各浏览器的中文乱码问题

*/

String userAgent = request.getHeader("User-Agent");

String userAgent = request.getHeader("User-Agent");

byte[] bytes = userAgent.contains("MSIE") ? fileName.getBytes()

: fileName.getBytes("UTF-8"); // fileName.getBytes("UTF-8")处理safari的乱码问题

fileName = new String(bytes, "ISO-8859-1"); // 各浏览器基本都支持ISO编码

response.setHeader("Content-disposition",

String.format("attachment; filename=\"%s\"", fileName));

response.setHeader("Content-Length", String.valueOf(fileLength));

byte[] buff = new byte[2048];

int bytesRead;

while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {

bos.write(buff, 0, bytesRead);

}

bis.close();

bos.close();

}

java dispo lock_java实现文件上传和下载(1)相关推荐

  1. Java操作FastDFS实现文件上传和下载

    前言:在GItHub上(地址:https://github.com/happyfish100),作者提供了fastdfs-client-java源码,源码里面提供了操作FastDFS的工具类,所以我们 ...

  2. Java网络编程实现文件上传和下载案例详解

    客户端: 文件上传案例的客户端:读取本地文件,上传到服务器,读取服务器回写的数据 明确: 数据源:c:\1.jpg 目的地:服务器 实现步骤: 1.创建一个本地字节输入流FileInputStream ...

  3. java实现基于AmazonS3文件上传、下载、删除操作

    1.创建工具类 AwsS3Utils import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientExcept ...

  4. java struts 读取文件,java中Struts2 的文件上传和下载示例

    文件上传 表单准备 要想使用 HTML 表单上传一个或多个文件 须把 HTML 表单的 enctype 属性设置为 multipart/form-data 须把 HTML 表单的method 属性设置 ...

  5. Mr.张小白(案例:基于Spring MVC实现文件上传和下载)

    基于Spring MVC实现文件上传和下载 一.步骤 1.引入相关依赖pom.xml <?xml version="1.0" encoding="UTF-8&quo ...

  6. java使用Jsch实现远程操作linux服务器进行文件上传、下载,删除和显示目录信息...

    1.java使用Jsch实现远程操作linux服务器进行文件上传.下载,删除和显示目录信息. 参考链接:https://www.cnblogs.com/longyg/archive/2012/06/2 ...

  7. java里面的文件上传与下载

    java里面的文件上传与下载 文件的上传与下载主要用到两种方法: 1.方法一:commons-fileupload.jar commons-io.jar apache的commons-fileuplo ...

  8. java图片预览上传_java实现文件上传、下载、图片预览

    这篇文章主要介绍了java实现文件上传.下载.图片预览,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 多文件保存到本地: @ResponseBody ...

  9. java spring文件下载_SpringMVC实现文件上传和下载的工具类

    本文主要目的是记录自己基于SpringMVC实现的文件上传和下载的工具类的编写,代码经过测试可以直接运行在以后的项目中. 开发的主要思路是对上传和下载文件进行抽象,把上传和下载的核心功能抽取出来分装成 ...

最新文章

  1. Ubifs文件系统和mkfs.ubifs以及ubinize工具的用法
  2. 极速写作2017彻底卸载_如何将 Flash 从 Mac 和 Windows 系统中彻底卸载?
  3. 整数翻转Python解法
  4. 智能优化算法:引力搜索算法-附代码
  5. c++编写植物大战僵尸
  6. SQL 分组求和+行转列
  7. matlab 遗传算法 ga函数,matlab遗传算法ga函数
  8. 信息差赚钱2020年怎么做?看完全部就会了!
  9. scala reduce和Fold
  10. 使用结构方程模型需要知道的那些事(理论篇)
  11. 第三方支付的商户订单号和支付交易号
  12. 文件损坏打不开怎么办?excel文件修复,看看这些解决办法
  13. R语言与克朗巴哈alpha系数
  14. 令人匪夷所思的 Magic 之魔数,你真的不会
  15. MDS(multidimensional scaling)多维尺度分析
  16. 2021教师资格考试结构化面试:家长说你教的不好,怎么办?
  17. 第十四章第五节:Java集合框架之优先级队列PriorityQueue(堆)
  18. Win10 蓝屏CRITICAL_PROCESS_DIED值为 0x000000EF
  19. Day44-45_Hive高级
  20. 360buy android 首页打开网络监控数据分析

热门文章

  1. html下拉框动态增加成员,JavaScript实现左右下拉框动态增删示例
  2. 组件数据更新页面未更新的解决方法
  3. 球球英雄服务器维护中,球球英雄有效兑换码20208月未过期
  4. 动漫人物的身体结构怎么画,动漫人物全身画法教程
  5. 提高生产力和效率的小方法
  6. 机器学习-chapter1机器学习的生态系统
  7. F1巴林揭幕阿隆索拔头筹 雷克南一次进站成就季军
  8. Nextcloud集成Active Directory(AD)LDAP用户身份验证
  9. linux让文件所有用户可以读,Linux 下用户(andy)创建的文件可让特定用户(alice)修改...
  10. 葵司JAVA25_Linux中的硬链接和软链接