ホームページ  >  記事  >  バックエンド開発  >  C# ファイルのアップロードとダウンロード (バイナリ ストリームとしてデータベースに保存)

C# ファイルのアップロードとダウンロード (バイナリ ストリームとしてデータベースに保存)

大家讲道理
大家讲道理オリジナル
2016-11-10 14:54:102345ブラウズ

1. ファイルをバイナリ ストリーム形式でデータベースに書き込みます

まずファイル パスを取得し、次にファイルをバイナリで読み取り、バイナリ配列に保存し、データベースとの接続を確立し、バイナリ配列を対応するSQL ステートメントのパラメーターの値を指定して、データベースへのファイルの書き込み操作を完了します

/// 将文件流写入数据库  
/// </summary>  
/// <param name="filePath">存入数据库文件的路径</param>  
/// <param name="id">数据库中插入文件的行标示符ID</param>  
/// <returns></returns>  
public int UploadFile(string filePath, string id)  
{  
    byte[] buffer = null;  
    int result = 0;  
    if (!string.IsNullOrEmpty(filePath))  
    {  
        String file = HttpContext.Current.Server.MapPath(filePath);   
        buffer = File.ReadAllBytes(file);  
        using (SqlConnection conn = new SqlConnection(DBOperator.ConnString))  
        {  
            using (SqlCommand cmd = conn.CreateCommand())  
            {  
                cmd.CommandText = "update DomesticCompanyManage_Main_T set ZBDocumentFile = @fileContents where MainID =&#39;" + id + "&#39;";;  
                cmd.Parameters.AddRange(new[]{  
                new SqlParameter("@fileContents",buffer)  
            });  
                conn.Open();  
                result = cmd.ExecuteNonQuery();  
                conn.Close();  
            }  
        }  
        return result;  
    }  
    else 
        return 0;  
}

2. データベースからファイルを読み取り、対応する形式でファイルを作成します

データベースからファイルを読み取るには、対応するファイルを作成するだけです必要なパスに従って、データベースに保存されているバイナリ ストリームを新しく作成したファイルに書き込むだけです

ディレクトリに同じ名前のファイルがある場合、元のファイルは上書きされます


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。