-1

私はasp.netで10GBのファイルをバイトに変換しようとしています。以下のコードを実行しています:

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

            }

そこで、任意のサイズの 10GB または任意のファイルを参照するために FileUpload1 を追加しました。大きなファイルをバイトに変換してSQLサーバーに保存することはできません。また、このコードをweb.configに追加すると、640MBをバイトに変換するのに役立ち、コードは640MBのファイルで動作します。大きなサイズのファイルもバイトに変換したい. ISS6用に以下のweb.configのコードを使用しました

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

iss7の場合、web.configで次の追加コードを使用します。

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

大きなファイルをByteで簡単かつ迅速に変換する方法を教えてください。どうすればこれを行うことができるか、解決策を教えてください。

4

1 に答える 1

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 サーバーと特に SQL Server の両方が停止します。

代わりに、ファイルをファイル システムに保存し、ファイル パスをデータベースに保持する必要があります。

これは私のお気に入りの一つです -

大きなファイル (10 MB) をデータベースに保存するのは悪い習慣ですか?

于 2013-07-28T18:44:58.503 に答える