2012-09-19 84 views
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); 
} 

回答

0

你應該首先將您byte數組base64String使用Convert.ToBase64String Method (Byte[])方法,然後寫入字符串到任何文本文件。

var bytes = ms.ToArray(); 
string imageString = Convert.ToBase64String Method(); 
System.IO.File.WriteAllText (@"D:\path.txt", imageString); 
+0

但我是新的asp,所以我不知道如何編寫代碼寫在文本文件上,我的代碼將數據轉換爲二進制但不能寫入文本文件 – user1682768

+0

檢查更新... –

+0

等待我我試圖實現你的更新 – user1682768

0

SaveImageData的方法是做什麼的?它在這裏,你想要提交文件?

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

+0

實際上我想要在其他地方實現此方法,所以我想獲取二進制圖像數據並將其保存在文本文件的上傳時間....任何幫助? – user1682768

+0

您可以創建另一個方法SaveBinaryToFile()並向下發送字節變量?如果您使用的是c#4.x,則可以使用任務庫執行以下兩項任務:http://blogs.msdn.com/b/csharpfaq/archive/2010/06/01/parallel-programming-in-net- framework-4-getting-started.aspx – christiandev

+0

你可以編輯我的代碼實際上我是新的asp,我使用的是c#4.0 – user1682768

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); 

       } 
      } 
     } 
+0

你可以編輯我的代碼的目的。 – user1682768