如何访问保存在 .Net Web API 项目上并部署在 Azure 云上的文件

问题描述 投票:0回答:1

我将一个文件直接保存到我的 ASP.NET Web API 项目中,我需要在其中一个操作中访问该文件。我可以在本地运行时访问该文件并将其转换为流,但部署到云后,我不断收到此错误:

System.IO.FileNotFoundException: 找不到文件“C:\home\site\wwwroot\myfile.docx”。

我可以在 wwwroot 的某个地方找到该文件吗?它保存到我的 Web API 项目中,该项目没有 ...site\wwwroot... 结构。仅当应用程序部署到 Azure 时才会出现此问题。

我已经尝试过以下方法,但没有成功。

Environment.CurrentDirectory + myfile.docx
并且
(string)AppDomain.CurrentDomain.GetData("ContentRootPath") + myfile.docx

c# azure asp.net-web-api path filestream
1个回答
0
投票

您可以将路径设置为简单的文件名;
以下创建和读取文件的代码对我有用。

        [HttpGet("write")]
        public void write()
        {
            var path = Path.Combine("MyTest.txt");

            using (FileStream fs = System.IO.File.Create(path))
            {
                byte[] content = new UTF8Encoding(true).GetBytes("Hello World");

                fs.Write(content, 0, content.Length);
            }
        }
        [HttpGet("read")]
        public string read()
        {
            string text= System.IO.File.ReadAllText("MyTest.txt");
            return text;
        }

测试
创建文件

读取文件

像“test/MyTest.txt”这样的路径也可以。但创建文件时需要准备“test”文件夹。

© www.soinside.com 2019 - 2024. All rights reserved.