首页 > 原创文章 > 软件开发 > 查看文章

文件名中包含空格,下载时报404出错的办法

所属分类:软件开发 来源: 丁老师原创 更新时间:2024-11-27 16:46 浏览: 4093 IP属地: 深圳

最近有同学提问,在开发的软件项目中,用户上传的文件名中包含空格,导致用户点击下载时,提示找不到该文件,404的错误,这种问题怎么解决呢?

首先,引起这种问题的原因就是文件名中有空格,导致了下载的url无法形成完成的链接。我分别做了两个下载链接,一个是正常文件名的文件,一个是文件名中有空格的文件,他们的链接对比如下:
image.png
看出来了吗?第一个链接是完整的,第二个链接的文件名“作者信息表 自动化”中间有空格,相当于url链接已经截断了,这样肯定是没办法下载的。

那么问题来了,遇到这种情况的文件,要怎么才能下载呢?

其实,遇到有空格或者是特殊字符的文件名,用原文件名是无法下载的,只需要对文件名进行一下编码就好,具体的编码方法,每种开发程序语言各不相同。
丁老师根据程序语言的不同,列出了每个程序的编码方法,具体如下:

#php
$str=rawurlencode("作者信息表 自动化");
#java
String str="作者信息表 自动化";
str=URLEncoder.encode(str,"UTF-8").replace(" ","%20");
c#
string str = "作者信息表 自动化;
str=WebUtility.UrlEncode(str,"UTF-8").Replace(" ","%20");


标签:

相关文章

Telegram Mini小程序开发介绍

Telegram Mini小程序基于Javascript开发语言,是集成在Telegram应用内的轻量化网页应用。类似微信小程序,可以直接在Telegram对话或群组中运行而无需单独下载。Telegram小程序支持的应用程序:Teleg...

Android Kotlin文件转换为Jav...

Android Kotlin文件可以转换为Java文件,方法为:1.点击菜单Menu Tools Kotlin Show Kotlin Bytecode2.点击编译Decompile按钮复制Java代码,完成!

IntelliJ/phpstorm/webs...

在使用jet brains的ide开发代码时,经常性的会输入单引号或双引号,ide默认有对于引号的自动完成功能,即输入一个引号,自动显示两个,这一点其实做的很不智能,因为在使用时经常会有显示出3个的情况,那么怎么关闭这个功能呢?file...

目前有可以替代JetBrains的AI ID...

目前AI应用飞速发展,国内外各大厂商都推出了AI IDE(用于编程开发的编辑器),比如Cursor、Trae、Qoder、Copliot等。但就我们常用的开发工具来说,比如JetBrains旗下的Intellij IDEA、Websto...

推荐文章

用AI制作的软件是否可以申请软著?丁老师解答

目前随着AI的不断发展,Vibe Coding的持续普及,诞生了大量的AI软件开发工具(IDE),通过这些工具,可以让一个不懂软件开发的人、没有任何技术能力的人使用AI来开发出想要的软件、网站等等。有同学咨询丁老师,使用AI开发的软件,可以...

百度编辑器ueditor自动添加p标签换行的...

在实际工作中发现,有个编辑器每次保存或者修改后,都会自动在内容顶部和底部增加几行,烦人的很,一直找不到解决办法。后来发现原来是自己代码的问题。解决办法:内容在textarea中,不要换行不要写成:<textarea{content} ...

微信小程序开发生成普通二维码打开小程序的方法

在开发微信小程序的过程中,生成的是带有logo的小程序二维码,并且这个二维码不是通用的二维码,而是只能用微信打开的专属二维码,如图:遇到这样一个需求,生成的二维码要方形的通用二维码,并且不能带有小程序的logo。这种该怎么实现呢?经过查询,...

FastAdmin add/edit方法不更...

问题:fastadmin的add/edit方法无法保存数据,检查了页面,name=row['name']正常传送,检查controller,也是默认的方法,什么也没有动可就是无法保存数据。解决:经过仔细研究发现,原来是htm...