C# GetDirectoryContents方法不使用';无法显示超过28MB的文件
我目前正试图显示目录中的文件。为此,我使用IFileProvider/ContentRootFileProvider及其方法GetDirectoryContents(字符串路径)。在Visual Studio中使用IIS时,它在我的本地maschine上就像一个符咒,但在Azure上则不然。如果在本地执行,它会显示每个文件及其详细信息。但一旦我尝试在Azure上运行它,我只会得到<28MB的文件。在谷歌搜索了一会儿之后,我尝试在Azure上编辑web.config,并将web.config包含到我的项目中。遗憾的是,这两种情况都不起作用,我仍然只得到了小于28MB的文件 我对web.config的编辑:C# GetDirectoryContents方法不使用';无法显示超过28MB的文件,c#,azure,asp.net-core,fileprovider,C#,Azure,Asp.net Core,Fileprovider,我目前正试图显示目录中的文件。为此,我使用IFileProvider/ContentRootFileProvider及其方法GetDirectoryContents(字符串路径)。在Visual Studio中使用IIS时,它在我的本地maschine上就像一个符咒,但在Azure上则不然。如果在本地执行,它会显示每个文件及其详细信息。但一旦我尝试在Azure上运行它,我只会得到
<security>
<requestFiltering>
<!--400 MByte-->
<requestLimits maxAllowedContentLength="419430400" />
</requestFiltering>
</security>
任何帮助都将不胜感激。更新 Krishg提供的代码是有效的,建议使用。 我提供的解决方案(文件分类)有时会忽略大型文件。这种现象很奇怪
new PhysicalFileProvider(Directory.GetCurrentDirectory(), ExclusionFilters.None);
PRIVIOUS
我仔细阅读了你的描述,并亲自测试了一下。这个问题很有趣
我尝试创建一个webapp并选择linux
平台,一切正常。(如果可以,请选择此计划部署您的程序
在windows
平台下创建,在要遍历的文件夹下,如果包含图片文件
(格式:jpg
,gif
,png
),.csproj
文件,则无法识别超过28M的文件
我用kudu上传大文件。当它小于某个值时,可以看到它。上传后,它消失了,这很奇怪
new PhysicalFileProvider(Directory.GetCurrentDirectory(), ExclusionFilters.None);
解决方案和建议:
一,。使用linux平台重新部署webapp
二,。对项目中的文件进行分类。遍历时分配给相应的文件夹
测试结果
三,。您可以在门户网站上提交支持票证并获得正式答案。如果它确实是一个bug,在您提交问题后,该官员将处理它并帮助webapp改进它。如果我的解决方案对您有帮助,请您将我的回答标记为,tks~很遗憾,使用linux是没有选择的,因为我们的订阅不包括它。我是否正确地理解了,您建议为不同类型的文件创建不同的文件夹(2)?因为我只有一个文件夹需要检查(里面有很多大的.json文件,我不能更改任何东西),(2.)似乎不是一个选项。当然,如果我理解正确的话。明天我会测试一切,如果不成功,我会提出支持票。谢谢你的帮助!至于现在,我将把你的回答标为已被接受如果通过传递构造函数
新PhysicalFileProvider(Directory.GetCurrentDirectory(),ExclutionFilters.None)中的ExclutionFilters.None参数来声明PhysicalFileProvider代码>,工作正常:)@krishg-krishg是对的,但是有很多方法可以读取和遍历文件。目前,op是一种通用的、常规的写作方法,也会遇到这个问题。理论上,本地测试应该与azure保持一致。@0x41您可以选择任何方法来解决问题。无论哪一个修改得最少,你都会采取哪一种方法。@krishg谢谢你,伙计!为我工作:)