Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# GetDirectoryContents方法不使用';无法显示超过28MB的文件_C#_Azure_Asp.net Core_Fileprovider - Fatal编程技术网

C# GetDirectoryContents方法不使用';无法显示超过28MB的文件

C# GetDirectoryContents方法不使用';无法显示超过28MB的文件,c#,azure,asp.net-core,fileprovider,C#,Azure,Asp.net Core,Fileprovider,我目前正试图显示目录中的文件。为此,我使用IFileProvider/ContentRootFileProvider及其方法GetDirectoryContents(字符串路径)。在Visual Studio中使用IIS时,它在我的本地maschine上就像一个符咒,但在Azure上则不然。如果在本地执行,它会显示每个文件及其详细信息。但一旦我尝试在Azure上运行它,我只会得到

我目前正试图显示目录中的文件。为此,我使用IFileProvider/ContentRootFileProvider及其方法GetDirectoryContents(字符串路径)。在Visual Studio中使用IIS时,它在我的本地maschine上就像一个符咒,但在Azure上则不然。如果在本地执行,它会显示每个文件及其详细信息。但一旦我尝试在Azure上运行它,我只会得到<28MB的文件。在谷歌搜索了一会儿之后,我尝试在Azure上编辑web.config,并将web.config包含到我的项目中。遗憾的是,这两种情况都不起作用,我仍然只得到了小于28MB的文件

我对web.config的编辑:

<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谢谢你,伙计!为我工作:)