如何在 C#.net Web 应用程序中获取上传到服务器上的文件的 URL?

How to get the URL of a file uploaded on a server in C#.net web application?

我目前正在开发一个支持用户将文件上传到服务器的 C#.net Web 应用程序。我正在使用外部 WhatsApp API,它需要使用 URL 访问这些文件。所以,我想知道我应该将什么 URL 传递给 API 以便它可以访问服务器上的文件。

URL 会是这样的吗:base_url/file_path/file_name?

此外,我必须在路由配置文件中进行哪些更改(因为目前默认的 url 模式是 base_url/controller/action)

根据上面的讨论,我可以看出'DocumentMessage'是它问的模型。我有两种处理方法。您可以根据您的系统设计选择任何一个。

  1. 这是您的应用不需要任何云参与的方法。无论是在 IIS(本地)或任何任何云服务应用程序中托管,它都可以工作。但唯一的要求是文件需要在项目文件夹结构中。

解决方案:- 在您的根目录下创建一个虚拟路径。因此,您的 api/ 网站将托管在某个域下(https://example.com) . So your Virtual directory path will be something like (https://example.com/fileLocation). So your entire file path will be published under this link. so for your File the path will be https://abc.or/fileLocation/file_Data

注意:-出于安全目的禁用目录访问。没有失败

参考:- For IIS Virtual Path For Azure App service

  1. 如果可能,将你的文件放在一些云存储中(例如 Blob 存储容器)并获取 blob Url。您需要将 URL 存储在数据库中(以便重复使用或存储而不是多次调用云来获取路径)。