【问题标题】:How can convert 10GB larg file to Byte in ASP.NET [duplicate]如何在 ASP.NET 中将 10 GB 大文件转换为字节 [重复]
【发布时间】:2013-07-28 16:40:00
【问题描述】:

我试图在 asp.net 中将 10GB 文件转换为字节,我正在执行以下代码:

 if (FileUpload1.FileName != "")
            {        
                Byte[] MediaBytes = new 
  byte[FileUpload1.PostedFile.InputStream.Length];        

            }

我添加了 FileUpload1 来浏览任何大小为 10GB 或任何大小的文件。我无法将大文件转换为字节并将其保存到 SQL Sever。我还在 web.config 中添加了此代码,它帮助我将 640MB 转换为字节,并且代码正在处理 640MB 文件,我也想在字节中转换大尺寸文件。我在 web.config 中使用了下面的代码 国际空间站6

<httpRuntime executionTimeout="9999" maxRequestLength="2099999999"/>

对于 iss7,我在 web.config 中使用以下额外代码:

<system.webServer>
    <security>
      <requestFiltering>        
        <requestLimits maxAllowedContentLength="1024000000"/>
      </requestFiltering>
    </security>
  </system.webServer>

请帮助我如何轻松快速地转换 Byte 中的大文件。请给我解决方案我该怎么做。

【问题讨论】:

  • 您在这里stackoverflow.com/questions/17904580/… 提出了同样的问题,正如所指出的,您不能使用FileUpload 上传10gb 文件。
  • 四个演出限制?无论如何,您为什么要将这么大的文件存储在数据库中?将任何文件存储在一个文件中并不是一个好主意,10 gig 很愚蠢。

标签: c# asp.net file-upload byte


【解决方案1】:

这是将流转换为字节的代码。请在使用代码之前继续阅读。

var file = FileUpload1.PostedFile;
var imgStream = file.InputStream;
var length = file.ContentLength;
var data = new byte[length]; 
imgStream.Read(data, 0, length);

// data is the one you need.

首先,你不应该在数据库中存储大文件,它会杀死Web Sever,尤其是SQL Server。

相反,您应该将文件存储在文件系统中,并将文件路径保留在数据库中。

这是我最喜欢的之一 -

Is it a bad practice to store large files (10 MB) in a database?

【讨论】:

  • Hi Win 我认为在数据库中保存文件不是一个坏主意,我想将文件转换为字节中的滞后文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-01-25
  • 2014-06-25
  • 1970-01-01
  • 2016-06-08
  • 2022-10-15
  • 1970-01-01
  • 2021-04-24
相关资源
最近更新 更多