2012-09-19 83 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