我用下面的代码在图片图片框中显示图片,现在我想在从数据库中读取后添加打开文件的代码(pdf,image,...)
int imageID = Convert.ToInt32(imageIDComboBox.Text);
// read image bytes from the database and display in picture box
Byte[] imageByteArray = ProductDB.ReadImage(imageID);
MemoryStream ms = new MemoryStream(imageByteArray);
imagePictureBox.Image = System.Drawing.Image.FromStream(ms);
ms.Close();
我曾尝试使用下面的代码,但它无法识别响应。
ms.writeto(Response.outputstream)
答案 0 :(得分:1)
您需要在某处保存文件。我建议您使用GetTempPath方法获取临时文件名。
保存文件后,可以使用Process类
使用本机的默认程序打开它一些伪代码:
string fileName = "C:\temp\foo.pdf"; //or use Path.GetTempPath()
ms.Write(new StreamWriter(filename)); //you may want to use a using statement for your file stream to ensure the file is closed
Process.Start(filename);
https://msdn.microsoft.com/en-us/library/system.io.path.gettemppath(v=vs.110).aspx https://www.dotnetperls.com/process
修改强>
我的伪代码似乎无法正常工作;-)这是另一个代码段:
Byte[] imageByteArray = ProductDB.ReadImage(imageID);
string fileName = Path.GetTempPath();
File.WriteAllBytes(fileName, imageByteArray);
Process.Start(fileName);