最近有同学提问,在开发的软件项目中,用户上传的文件名中包含空格,导致用户点击下载时,提示找不到该文件,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");
这个问题,用普通sql语句查询,好解决,把表的字符编码改为对应的就可以了。但在使用视图查询时,比如select'aaa'astypefromxxx;select*fromviewwheretype='aaa'...
在使用uniapp编写代码时,uniapp的编辑器有一个自动提示功能,就是当你输入字符的时候,会自动弹出对应可能会输入的代码,查了下这个功能叫做“代码助手”。在使用代码助手时,经常会产生很麻烦的问题,比如在写CSS代码时,当需要输入数字时,...
现在微信支付已经超越支付宝,成为中国最广泛的在线支付方式。作为互联网电子商务服务商,如何开通对接微信支付?如何使用微信支付呢?丁老师整理一篇微信支付常见的问题解答。一、如何开通微信支付?微信支付可以在微信支付官网(https://pay.w...
在fastadmin中,一个页面的非菜单链接,想要点击后打开指定页面,并且菜单自动展开,该怎么实现呢?经过丁老师研究后,发现超级简单,废话不多说,直接上代码:<a class="btn-addtabs" href=...
nginx环境下php页面总是缓存刷新也不行的解决办法
phpstorm程序中,在打开html时总会出现对style属性的折叠和隐藏,这样在检查代码的时候非常不直观,容易漏掉很多东西,非常的不方便,如图:
国外很多VPS购买后,只有密码,没有登录账号,如何登录呢?我们以one.com为例,购买了VPS后,只能设置密码,但是用root,也无法登录,是怎么回事呢?查了官方文档,原来修改的VPS密码,不是root的,这个VPS默认的账号是admin...
有同学反应,在使用photoshop时,忽然文件打不开了,先后试了下psd格式、jpg格式、png格式的,等等等等,全都打不开,重启了电脑也不行,这是怎么回事呢?经过丁老师研究后发现,这是因为安装的是非正版photoshop,在使用时,没有...