1

varbinary画像をデータ型としてデータベースにアップロードしようとしています。

問題は、バイト配列からの画像データを、という名前のソリューションに存在するファイルに保存したいということTextFile.txtです。しかし、私はそうすることができません。画像をデータベースに挿入すると同時にデータを書き込んでほしい。

私はこのコードを持っています。これを使用して画像をデータベースに挿入できますが、バイトデータをテキストファイルに挿入することはできません。

protected void Button1_Click(object sender, EventArgs e)   
{
    if (!this.FUImage.HasFile)
    {
        this.Label1.Text = "Please select a file to Uplaod";
        return;
    }

    MemoryStream ms = new MemoryStream();
    this.FUImage.PostedFile.InputStream.CopyTo(ms);
    var bytes = ms.ToArray();
    ms.Close();
    var image = new Image() {
        Name = this.FUImage.PostedFile.FileName,
        FileBinary = bytes
    };
    SaveImageData(image);
}
4

3 に答える 3

0

メソッドSaveImageDataは何をしますか?ここにあなたがファイルしようとしているのですか?

http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/005f0060-09c1-4ba9-8a40-cc7fa7284320

于 2012-09-19T10:40:43.527 に答える
0

バイナリライターを使用してバイトデータを書き込みます。

MemoryStream ms = new MemoryStream();  
        this.FUImage.PostedFile.InputStream.CopyTo(ms);   
        var bytes = ms.ToArray();   
        ms.Close();   
        var image = new Image()   
        {   
            Name = this.FUImage.PostedFile.FileName,   
            FileBinary = bytes   
        };  



 using (FileStream fs = new FileStream(FILE_NAME, FileMode.CreateNew))  
        {
            using (BinaryWriter w = new BinaryWriter(fs))  
            {  
                for (int i = 0; i < 11; i++)  
                {  
                    w.Write(bytes);  

                }  
            }  
        }  
于 2012-09-19T10:55:32.200 に答える
0

最初にbyte配列をbase64StringusingConvert.ToBase64String Method (Byte[])メソッドに変換してから、文字列を任意のテキストファイルに書き込む必要があります。

var bytes = ms.ToArray();
string imageString = Convert.ToBase64String Method ();
System.IO.File.WriteAllText (@"D:\path.txt", imageString );
于 2012-09-19T11:01:22.950 に答える