Java通过文件url远程下载文件(url含中文问题解决)

使用Java从URL下载文件 在Java编程中,您可能需要从Internet上的特定URL下载文件。在本文中,我将为您介绍一种从URL下载文件的方法,并提供相应的源代码示例。通过使用上述代码,您可以轻松地从URL下载文件并将其保存到本地。记得在实际应用中处理可能出现的异常情况,并进行适当的错误处理和日志记录。该代码段将从输入流中读取数据并将其写入输出流中,直到读取完整个文件。替换为您希望保存文件的实际路径和文件名。替换为您希望保存文件的实际路径和文件名。替换为您要下载的文件的实际URL,并将。替换为您要下载的文件的实际URL。 阅读详情

今天项目中需要用到url远程下载,由于url中含有文件中文名,导致下载报错,直接上代码

  /** 通过url文件地址下载
     * @param url url文件地址
     * @param filename 文件名
     * @param isOnLine true在线打开预览 ,false直接下载
     * @param response
     * @功能描述 网络文件获取到服务器后,经服务器处理后响应给前端
     */
    @ApiOperation("通过url文件地址下载")
    @ApiImplicitParams({
            @ApiImplicitParam(name="url",value="文件url",required=true,dataType="String"),
            @ApiImplicitParam(name="filename",value="生成下载的文件名",required=true,dataType="String"),
            @ApiImplicitParam(name="isOnLine",value="true在线打开预览 ,false直接下载",required=true,dataType="boolean")
    })
    @GetMapping("/netDownLoadNet")
    public void netDownLoadNet(String url, String filename, boolean isOnLine, HttpServletResponse response) throws Exception {
        //匹配中文表达式,编码替换
        String zhPattern = "[\\u4e00-\\u9fa5]";
        Pattern p = Pattern.compile(zhPattern);
        Matcher m = p.matcher(url);
        StringBuffer b = new StringBuffer();
        while (m.find()) {
            m.appendReplacement(b, URLEncoder.encode(m.group(0), "UTF-8"));
        }
        m.appendTail(b);
        URL urlHttp = new URL(b.toString());
        HttpURLConnection conn = (HttpURLConnection)urlHttp.openConnection();
        InputStream inputStream = conn.getInputStream();

        response.reset();
        response.setContentType(conn.getContentType());
        if (isOnLine) {
            // 在线打开方式 文件名应该编码成UTF-8
            response.setHeader("Content-Disposition", "inline; filename=" + URLEncoder.encode(filename, "UTF-8"));
        } else {
            //纯下载方式 文件名应该编码成UTF-8
            response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(filename, "UTF-8"));
        }

        byte[] buffer = new byte[1024];
        int len;
        OutputStream outputStream = response.getOutputStream();
        while ((len = inputStream.read(buffer)) > 0) {
            outputStream.write(buffer, 0, len);
        }
        outputStream.flush();
        inputStream.close();
        outputStream.close();
    }

前端请求接口后将响应数据存到一个变量中如data,在用 window.open(data)即可,。

图片url地址转换成file文件 public static File getFile(String url) throws Exception { //对本地文件命名 String fileName = url.substring(url.lastIndexOf("."),url.length()); File file = null; URL urlfile; InputStream inStream = null; OutputStream os = null; try { 阅读详情

相关推荐

js -- 实现根据url地址下载文件

在上面的代码中,我们定义了一个函数 downloadFile(url, filename),它接受文件的 URL 和要保存的文件名作为参数。通过 fetch(url) 发起 GET 请求获取文件的响应数据。使用 Promise 的 then 方法,我们将响应数据转换为 blob 对象。可以使用 fetch 和 URL.createObjectURL 方法来实现根据 URL 下载文件。以下是一个示例代码:前置环节,不能存在跨域,若存在跨域,可使用 nginx 进行处理。

King Saj 4870

Java根据url下载文件到本地

java实现网络文件下载到本地、从本地删除

九 1万+

Information Fusion投稿避坑指南:从初稿到返修的完整流程解析(附模板下载)

本文详细解析了向Information Fusion投稿的全流程,从初稿准备到返修策略,涵盖了22个关键细节。特别强调了投稿前的隐形门槛、LaTeX模板的字体陷阱、图表规范要求以及返修回复的进阶技巧,帮助研究者避免常见错误,提升稿件接受率。附有实用模板下载,助力学术写作效率提升。

tgb34567890的博客 1420

JAVA实现从URL下载文件

如果是从URL上面下载,则需要提供域名访问地址,通过构建url作为输入流。如果是从服务区上下载,需要提供服务器的文件路径来创建输入流。URL下载和服务器下载是不同的,

m0_46664644的博客 5941

DM-VIO论文精读:从‘延迟边缘化’到‘位姿图BA’,手把手拆解单目VIO性能超越双目的秘密

本文深入解析DM-VIO技术如何通过延迟边缘化和位姿图BA创新,解决单目视觉惯性里程计(VIO)的尺度不可观性问题,并在精度上超越传统双目系统。文章详细介绍了延迟边缘化的双因子图结构设计、位姿图BA的多级初始化策略,以及系统级优化带来的性能提升,为VIO研究与实践提供了重要参考。

weixin_30616969的博客 427

NTFS分区变成RAW别乱修!正确数据恢复与修复方法详解

文件系统是操作系统管理存储数据的核心机制,NTFS作为Windows主流文件系统,一旦分区识别异常,常会显示为RAW格式。分区变RAW通常意味着文件系统入口信息损坏,而非数据物理消失,但若采用错误的修复方式,如直接对RAW分区执行chkdsk /f,可能因系统无法正确识别文件系统结构,导致写入操作落在错误偏移位置,二次破坏本可恢复的数据。正确的处理思路是:先停止一切写入操作,通过扇区级镜像备份保留原始现场,再分析DBR、分区表及$MFT状态,依据诊断结果选择修复或深度扫描恢复。实际排查中,常见问题如DBR记

weixin_31155097的博客 134

java下载远程url文件保存到本地 使用URL下载远程文件保存到本地

java下载远程url文件保存到本地 使用URL下载远程文件保存到本地 一、需求说明 1、项目中使用到一个第三方插件,因插件经常更新,人工一次次的替换,很麻烦。于是乎有了需求,使用代码实现后台自动下载更新。 2、因是java的服务端项目,这里使用JDK提供的 java.net.* 包的,URL和 HttpURLConnection 实现文件下载。 二、代码如下 1...

HaHa_Sir的博客 8543

金融数据自动化:从同花顺API到Excel的智能转换之旅

本文详细介绍了如何利用同花顺API实现金融数据自动化处理,并将其智能转换为Excel格式的全流程。通过Python编程和Excel高级技巧,读者可以掌握从数据获取、清洗到输出的完整解决方案,大幅提升金融数据分析的效率和准确性。文章特别强调了同花顺API的使用技巧和Excel自动化输出的最佳实践。

sql99的博客 462

根据url下载文件为zip格式文件到客户端并解决火狐浏览器中文乱码问题

根据文件的远程路径将多文件合并成zip压缩包,然后下载到客户端,并解决火狐浏览器中文文件名乱码问题,下面是代码 package com.test.util; import java.io.BufferedInputStream; import java.io.IOException; import java.io.UnsupportedEncodingException; import ja...

weixin_39555954的博客 961

电路板功能测试系统-FCT for PCBA

电路板功能测试系统用于电路板组件(PCBA)的功能测试(FCT),满足自动化大批量生产的要求。  ● 用户根据自己需要定义测试步骤,灵活方便  ● 适合工业自动化大批量生产应用  ● 系统测试精度高,稳定可靠   一、电路板功能测试系统概述 电路板测试过程通常由多个步骤组成,每单个步骤中需要对多个物理量(电压、电流、电阻、频率、波形等)进行测试。在每个步骤测试时

6813

9.13华为OD机试真题 新系统 - 手机桌面整理 (Java/Py/C/C++/Js/Go)

华为OD机试真题 新系统【手机桌面整理】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题 【 手机桌面整理】多语言题解。

qq_45776114的博客 638

【横川咨询】java从远程url文件流读取文件,并且下载到本地

java从远程url文件流读取文件,并且下载到本地(写个循环就可实现批量) import java.io.*; import java.net.HttpURLConnection; import java.net.URL; public class FileUtils { /** * 获取远程文件 * * @param remoteFilePath 远程文件路径 * @param localFilePath 本地文件路径 */ pu.

qq_38187437的博客 4607

成本中心(CO)和利润中心(PCA)是管理会计模块的核心组件

SAP中成本中心(CO)和利润中心(PCA)凭证处理存在差异:①外部交易(如费用支付、销售)会生成FI借贷凭证;②内部成本分摊和转移仅产生CO/PCA管理凭证,通过次级成本要素或利润中心转移科目记录,不涉及FI模块。核心区别在于是否涉及企业实际收支:实际收支触发FI凭证,内部核算仅生成管理会计凭证。系统通过这种机制实现财务会计与管理会计的集成与分离。

金牌架构师 1128

java 实现 PTF远程连接带有中文下载,解决文件损失

@java 实现 远程连接带有中文下载文件损失 java 实现 PTF远程连接带有中文下载文件损失 public static void main(String[] args) { String fileLocal="D://tmp//111111112//tldf//"; String fileLl="111111.pdf"; //需要先将带有中文字符取出 String str="htt...

Shows_that的博客 267

uni-app开发-第6篇:uni-app 样式与主题

在 uni-app 开发中,样式与主题的管理是关键部分。样式分为全局样式和局部样式,全局样式在 App.vue 中定义,适用于整个应用,而局部样式在单个 .vue 文件中定义,仅对当前页面生效。局部样式优先级高于全局样式,内联样式优先级最高。样式属性如 font-family 和 color 可被子元素继承。要覆盖全局样式,可在局部样式中重新定义相同规则。主题切换通过 CSS 变量和类名实现,动态切换主题可通过修改元素的类名来完成。例如,定义浅色和深色主题,并通过按钮点击切换主题样式。这些方法帮助开发者灵活

无 369

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

java下载远程服务器中以中文命名的文件

远程服务器使用的是Tomcat 6.0.18,但是Tomcat 默认是不支持中文文件名访问。 Java下载中文文件 - 蒋委员长 - Loft Program (一)修改Tomcat配置文件方法: 找到Tomcat 目录,打开config/server.xml文件,添加一段代码即可。如红色的字体                URIEncoding="utf-8" 

hinatarx的专栏 1257

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【问题解决】Java下载远程服务器资源到本地,本地提供下载服务,解决中文乱码问题

JAVA后端提供下载服务,解决下载文件中文乱码问题

weixin_43849468的博客 983

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

java 远程上传文件_Java后台远程下载url文件并远程上传文件

1.远程下载url的二进制文件//获取二进制文件public static byte[] downLoadBinary(String urlStr) throwsIOException{URL url= newURL(urlStr);HttpURLConnection conn=(HttpURLConnection)url.openConnection();//设置超时间为10秒conn.set...

weixin_29118723的博客 535

java从远程url文件流读取文件并下载到本地

java从远程url文件流读取文件,并且下载到本地(写个循环就可实现批量) import java.io.*; import java.net.HttpURLConnection; import java.net.URL; public class FileUtils { /** * 获取远程文件 * * @param remoteFilePath 远程文件路径 * @param localFilePath 本地文件路径 */ p.

zzchances的博客 4352

java实现通过url实现浏览器下载pdf文件

java实现通过url实现浏览器下载pdf文件 // 下载pdf文件工具类 public static void toDownload(HttpServletRequest request, HttpServletResponse response, Map<String, Object> map) { ServletOutputStream out = null; InputStream inputStream = null; try {

Sukehj的博客 6975

Java怎么通过url下载文件_java通过url下载文件并输出的方法

实例如下所示:controller:@RequestMapping(value = "/{loanid}/{atmtType}")public void doGet(@PathVariable("loanid") String loanid,@PathVariable("atmtType") String atmtType,HttpServletRequest req,HttpServletRes...

weixin_42340136的博客 1065

java 下载url图片_java下载url图片链接

1.从之前写的一篇中改写了代码,从远程的url链接中下载图片,并对各种浏览器的中文文件名进行展示/*** 根据url路径下载图片* @param filename 处理下载时显示设置好的中文名 eg:张三的照片.jpg* @param path 要保存在本地的临时路径(下载之后会将保存在此处的图片删除)eg: d:/image* @param url 图片链接 eg: http://photo.b...

weixin_33567029的博客 535

Java 解决浏览器下载文件中文名称出现乱码的原因?

今天为大家分享一篇完美解决Java获取文件路径出现乱码的问题,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧 在Java中有时生成文件之后让前端下载,获取的文件名中存在中文或者是空格的时候,下载的文件名称出现乱码。这个问题困扰了我好久,用过各种的转码都无济于事。在后来终于解决了,在这里和大家分享一下,其实也就是加一个方法判断浏览器的的问题。 1:都是使用的new Fi...

tanqingfu1的博客 4631

远程下载文件容易遇见错误URL不可用

#远程下载文件 远程下载其他电脑文件JAVA容易遇到很多坑,在这记录一下实现正确方式。 下面附上源码 package com.kunjuee.dsp.util.nginxUtile; import org.apache.http.HttpEntity; import org.apache.http.HttpStatus; import org.apache.http.client.config.RequestConfig; import org.apache.http.client.methods.Clos

weixin_45480626的博客 1065

java通过浏览器下载远程链接文件

java通过浏览器下载远程链接文件 文件下载工具类 /** * * @param urlStr 下载文件的url(不包括文件名) * @param fileName 下载的文件名 * @param response 响应流 * @throws Exception */ public static void downLoadFromUrl(String urlStr,...

qq_42953039的博客 857

下载远程的url

方案适用场景优点缺点不落地磁盘直接上传 OSS / 流式处理高效,节省空间不方便二次处理落地磁盘需要处理或保存文件可以做任何操作慢,占用磁盘,需管理临时文件步骤IO 类型描述1网络 + 磁盘写入下载 PDF 文件到本地磁盘2磁盘读取FileInputStream 读文件生成 MultipartFile3网络上传上传到 OSS。

qq_56947957的博客 461
上一篇: Linux安装Nginx(超详细步骤,亲测!)
下一篇: mybatis直接Xml文件中根据及传入的分页条件进行分页
wuningw
博客等级 码龄9年 24粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值