最近有同学提问,在开发的软件项目中,用户上传的文件名中包含空格,导致用户点击下载时,提示找不到该文件,404的错误,这种问题怎么解决呢?
首先,引起这种问题的原因就是文件名中有空格,导致了下载的url无法形成完成的链接。我分别做了两个下载链接,一个是正常文件名的文件,一个是文件名中有空格的文件,他们的链接对比如下:
看出来了吗?第一个链接是完整的,第二个链接的文件名“作者信息表 自动化”中间有空格,相当于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");在Python中,如果要把md5值,转换为16进制,可以使用hashlib库的hexdigest方法。具体代码为:from hashlib import md5 secret = '123456789' print(md...
最近有同学咨询丁老师,公司要做一款设备的管理系统,是要安装在Windows上的桌面客户端软件,这种Windows桌面软件,用什么程序架构开发比较好、比较稳定呢?针对这个问题,丁老师做一下介绍。Windows桌面客户端软件发展已久,自从W...
内网穿透,是指外网可以访问内网,没有固定IP的服务器,所以需要中间件来进行通讯,目前稳定成熟的中间件软件,要么价格太贵,要么就是只能使用标准服务,不能完全的定制化。那么,到底有没有一个性价比最优的方案呢?回答是肯定的,答案就是使用云服务...
支付宝-交易订单处理失败,请稍后再试。(ALI59)的解决办法
在使用uniapp开发的小程序内,打开图片,长按没有弹出菜单,无法扫码,此时只需在图片上加入show-menu-by-longpress即可完整代码:<image :src="picture" mode="...
在开发微信小程序的过程中,生成的是带有logo的小程序二维码,并且这个二维码不是通用的二维码,而是只能用微信打开的专属二维码,如图:遇到这样一个需求,生成的二维码要方形的通用二维码,并且不能带有小程序的logo。这种该怎么实现呢?经过查询,...
1.字体列表及引用链接鸿蒙字体 - B 站400 字重 CSS://s1.hdslb.com/bfs/static/jinkela/long/font/regular.css 500 字重 CSS://s1.hdslb.com/bfs/st...
宝塔系统相关问题解决方法