2011-02-02 22 views
1

ファイルをアップロードしようとしています。しかし、私がインターネット上で見つけた資料の多くは、ファイルをサーバ上のフォルダに保存する方法を説明していますが、私の解決策としてはバッファリングが必要でした。出来ますか?ファイルをサーババッファにアップロードしてから、読み込んでクリーンアップします。アップロードするファイルをASP.NETでバッファする方法

私はtelerikコンポーネントを使用しており、Excelファイルの読み込み/読み込みが必要です。

おかげ

+0

私はそうバッファに置くことは彼らは小さなファイルです良いオプション – anishMarokey

+0

ある、と私はそれが最善の解決策ではありません参照フォルダにそれらを投げると思ういけません。しかし、あなたの意見は何ですか? @anishMarokey –

答えて

2

あなたはバイナリストリームを使用するのであれば、関係なく、実行のコンテキストの(リサイズまたは何対asp.netを)それをバッファリングするためのアプローチはかなり一般的です:

public static byte[] ReadFile(string filePath) 
{ 
    byte[] buffer; 
    FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read); 
    try 
    { 
    int length = (int)fileStream.Length; // get file length 
    buffer = new byte[length];   // create buffer 
    int count;       // actual number of bytes read 
    int sum = 0;       // total number of bytes read 

    // read until Read method returns 0 (end of the stream has been reached) 
    while ((count = fileStream.Read(buffer, sum, length - sum)) > 0) 
     sum += count; // sum is a buffer offset for next reading 
    } 
    finally 
    { 
    fileStream.Close(); 
    } 
    return buffer; 
} 

また、このチェックアウト:

http://www.yoda.arachsys.com/csharp/readbinary.html

0

をデフォルトのFileUploadコンポーネントはByte[]としてあなたのファイルを提示します - あなただけMemoryStreamでそれをラップすることができます:

var strm = new MemoryStream(fileUpload.PostedFile.Contents); 
    // I think its PostedFile.Contents, something like that anyway 
関連する問題