我正在开发.NET Core2.2应用程序(将很快升级)。有一种在服务器上上传文件的功能,其他用户可以通过链接访问该功能。一切都很好。有一些检查可以防止具有特定字符的文件,包括#。我唯一的问题是,客户端坚持允许文件名中的#。上传这些文件时没有问题,但它不通过链接加载。我得到了Status Code: 404; Not Found错误。这是遗留站点(ASP.NET WebForms)中的问题,也是它展示404 - File or directory not found.的地方。我得到的URL如下:/_ClientData/NTTF/Announcements/61/Docs/invalid%20#%20test.pdf
作为最后一种选择,我可以允许这个文件并将#替换为服务器上的其他东西,但是我想知道是否有任何方法可以在不操作文件名的情况下完成这个工作。
发布于 2020-12-10 21:27:47
您可能有一个Razor页面(或等效的),它动态地生成"clickable链接“。
建议:在为页面服务时,使用HttpUtility.UrlEncode()显式生成链接。
它应该产生这样的东西:
invalid # test.pdfinvalid%20%23%20test.pdfhttps://stackoverflow.com/questions/65242500
复制相似问题