2013-04-05 61 views
0

我保存该文件名中带空格的文件打开文档,所以在数据库中的网址是:无法从数据库

http://wingtipserver/Lists/Knowit.Cv-EmployeeDocumentsListInstance/attachments/2/My Example Pdf File.pdf 

但是,当我想在的ImageButton打开它,使用ImageButton.PostBackUrl然后它不会打开,因为文件路径是:

http://wingtipserver/Lists/Knowit.Cv-EmployeeDocumentsListInstance/attachments/2/My%20Example%20Pdf%20File.pdf 

如何删除空格?或者我应该做一个文件上传验证,所以我不能上传文件与空格?

+0

你可以在将它写入数据库之前UrlEncode url,然后它应该匹配第二个版本。 – 2013-04-05 11:13:06

回答

0

如果直接看文件系统,编码空间直接等于空格。

是的,你应该规范你的文件名,在我看来,没有空格是有意义的,而是用连字符或其他'规范'字符替换。但是,除此之外,当你点击URL时会发生什么? 404? 500?如果您告诉我们您遇到的情况,那么我们可能会给出适当的解决方案,但就目前而言,您认为问题实际上不应该成为问题。


在这里纠正一下自己,当在数据库中查看文件时,自然会出现字符串不匹配。为了解决这个问题,你应该在查找之前解码URL中的路径,使用Server.UrlDecode(urlPart);

+0

当我点击它时,出现错误404! – Kriistiian 2013-04-05 11:22:37

+0

我可以尝试验证,所以不允许有空格,现在我检查你是否只能用这个表达式上传'doc,docx和pdf':'(。* \。([Dd] [Oo] [Cc] )|。* \。([Dd] [Oo] [Cc] [Xx])|。* \。([Pp] [Dd] [Ff])$)'我怎么投入所以它也没有允许空格? – Kriistiian 2013-04-05 12:05:51