C# 将文件名中带有散列(#)的文件上载到WebDAV服务器
我有文件名中包含#的文件(例如:C# 将文件名中带有散列(#)的文件上载到WebDAV服务器,c#,asp.net,linux,urlencode,webdav,C#,Asp.net,Linux,Urlencode,Webdav,我有文件名中包含#的文件(例如:#qwerty.txt,文件#1.exe)。 我想将这些文件上传到运行在Linux上的WebDAV服务器 在ASP.Net中,我使用HttpUtility.UrlEncode()方法对URL进行编码。 但是,这会从要上载的文件名中删除#,因此上载失败 请回复。 谢谢。UrlEncode不会删除磅/哈希字符,而是将其替换为%23 因此,#qwerty.txt变成了%23qwerty.txt。如果使用生成的文件名引用本地文件进行上载,则无法找到该文件 如果您想要更明确
#qwerty.txt,文件#1.exe
)。
我想将这些文件上传到运行在Linux上的WebDAV服务器
在ASP.Net中,我使用HttpUtility.UrlEncode()方法对URL进行编码。
但是,这会从要上载的文件名中删除#,因此上载失败
请回复。
谢谢。UrlEncode不会删除磅/哈希字符,而是将其替换为
%23
因此,#qwerty.txt
变成了%23qwerty.txt
。如果使用生成的文件名引用本地文件进行上载,则无法找到该文件
如果您想要更明确的答案,您可能需要使用上载文件时使用的代码更新您的问题。如果您不使用UrlEncode会发生什么?OP的问题是(据我所知)服务器没有解码名称。@Eugene:我们永远不会知道OP是否没有回答。:)