最近有同学提问,在开发的软件项目中,用户上传的文件名中包含空格,导致用户点击下载时,提示找不到该文件,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");flex-space-betweendisplay:flex;justify-content:space-between;flex-columndisplay:flex;flex-flow:column;flex居中display:fl...
在使用PHP开发的程序时,突然遇到错误,查看错误日志发现提示:Array and string offset access syntax with curly braces is no longer supported,这是怎么回事呢?...
织梦dedecms,很多站长起初建设网站都是织梦dedecms。因为程序非常符合seo优化,但是随着用的人越来越多,特别是一些精通织梦的人就想着搞一搞别人用织梦做的站,所以织梦出现了很多安全漏洞问题,该如何设置网站安全防护呢?
有同学提问,在使用mysql导入数据库时,出现了Unknown collation: 'utf8mb4_0900_ai_ci'的错误,是怎么回事呢?其实这是因为,导出数据时,用的是mysql高版本的数据库,一般来说是8....
由老版本7.2自动升级时,会出现很多问题,建议在终端手动升级。升级命令:curl http://download.bt.cn/install/update_panel.sh|bash
在使用uniapp开发的小程序内,打开图片,长按没有弹出菜单,无法扫码,此时只需在图片上加入show-menu-by-longpress即可完整代码:<image :src="picture" mode="...
pdf添加水印,可以使用专业的pdf工具,如Adobe Acrobat、福昕PDF阅读器等,支持文字和图片形式的添加水印,支持透明度设置、水印位置设置等。图片添加水印,可以使用photoshop软件,但是photoshop太大了,而且使用起...
微信小程序自2023年8月起,开始对《手机号快速验证组件》进行收费,每个小程序有1000次的免费额度,超过额度就要收费。说白了就是以后在使用微信小程序获取用户手机(用户主动授权)的时候,需要按次数收费了。那么,在当前的经济状况下,如何做到轻...