首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

JAVA 流上载文件 360上载是ACTION的原因分析

2012-11-18 
JAVA 流下载文件 360下载是ACTION的原因分析BufferedInputStream bis nullBufferedOutputStream bos

JAVA 流下载文件 360下载是ACTION的原因分析

 BufferedInputStream bis = null;         BufferedOutputStream bos = null;         OutputStream fos = null;         InputStream fis = null;         String  filepath=path;//本地绝对路径         File uploadFile = new File(filepath);         fis = new FileInputStream(uploadFile);         bis = new BufferedInputStream(fis);         reponse.reset();         fos = reponse.getOutputStream();         bos = new BufferedOutputStream(fos);         reponse.setContentType("text/plain");    reponse.setHeader("Content-disposition","attachment; filename="+uploadFile.getName());    int bytesRead = 0;          //用输入流进行先读,然后用输出流去写,唯一不同的是我用的是缓冲输入输出流        //  byte[] buffer = new byte[8192];         // while ((bytesRead = bis.read(buffer, 0, 8192)) != -1) {         //     bos.write(buffer, 0, bytesRead);         // }                   FileCopyUtils.copy(fis, bos);//spring工具类直接流拷贝          bos.flush();          fis.close();          bis.close();          fos.close();          bos.close();  

这个功能IE,firef是好的 但是在360下载时候 我分析是直接下载了ACTION
直接输出流到360,360有个下载管理工具来识别这个请求的文件名之类的信息.然后需要点击确定后(此后会再次请求一次刚才的地址),才会具体把这个输出的东西保存为具体文件.这个时候就把action下载出来了(可能这个地方说ACTION有些歧义)
这里请求了两次那个文件.
把360下载换成IE(工具-》下载器-》设置-》默认下载工具为IE).这个问题就解决了


热点排行