[Java Web]从服务器获取文件并保存(预览)本地客户端-阿里云开发者社区

开发者社区> luckcheng> 正文

[Java Web]从服务器获取文件并保存(预览)本地客户端

简介: 一、使用场景 客户端请求服务器B保存某个文件到本地, 服务器B从远程服务器A中得到文件路径,服务器B通过拿到的文件路径,将文件处理后,客户端得到响应,实现保存文件在本地。
+关注继续查看

一、使用场景
客户端请求服务器B保存某个文件到本地,
服务器B从远程服务器A中得到文件路径,服务器B通过拿到的文件路径,将文件处理后,客户端得到响应,实现保存文件在本地。

二、思路代码
(这里以pdf文件为例子,服务器端B处理代码)

        //响应内容,这里在response中不设置contentType的话,在大多数(除IE外的浏览器)都是文件预览        
        response.setContentType("application/pdf");
        //响应头部
        response.setHeader("Content-disposition", "attachment;filename=" + “文件名” + ".pdf");

        OutputStream oputstream = response.getOutputStream();//
        URL url = new URL(“这里是服务器A端拿到的远程url”);
        HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
        urlConnection.setDoInput(true);
        urlConnection.connect();
        InputStream inputStream = urlConnection.getInputStream();
        byte[] buffer = new byte[4*1024];
        int byteRead = 0;
        //写入流中处理
        while((byteRead=(inputStream.read(buffer)))!= -1){
            oputstream.write(buffer, 0, byteRead);
        }
        oputstream.flush();
        inputStream.close();
        oputstream.close();

整体就是,拿到远程文件url,然后服务器通过这个url建立流处理文件写入到response中。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
怎么把指定dc的指定区域保存成HBITMAP,以及怎么把HBITMAP保存成位图
HBITMAP CopyDCToBitmap(HDC hScrDC, LPRECT lpRect){ if(hScrDC==NULL || lpRect==NULL || IsRectEmpty(lpRect))   {    AfxMessageBox("参数错误"); return NULL; ...
794 0
+关注
luckcheng
csdn博客:luck-cheng.github.io github:www.github.com/luck-cheng
126
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
《Nacos架构&原理》
立即下载
《看见新力量:二》电子书
立即下载
云上自动化运维(CloudOps)白皮书
立即下载