簡単に言えば、DataTableの列に画像を入れたいと思っています。これを行うには、画像をバイトに変換する必要がある他のさまざまなソースから収集し、そのバイトを目的の DataRow 列に割り当てます。
したがって、私が見つけたすべてのガイドは、システム上のファイルを参照するためのものを除いて、必要なものをほぼ正確に手に入れました。変換する必要がある画像はプロジェクト内にあります。
これが私が持っているものです。
DataColumn amountcol = new DataColumn();
amountcol.DataType = System.Type.GetType("System.Byte[]");
//...
newrow = dt.NewRow();
newrow[amountcol] = ReadImage("images/dashboard/myvacstatus-am.png", new string[] { ".png" });
private static byte[] ReadImage(string p_postedImageFileName, string[] p_fileType)
{
bool isValidFileType = false;
try
{
FileInfo file = new FileInfo(p_postedImageFileName);
foreach (string strExtensionType in p_fileType)
{
if (strExtensionType == file.Extension)
{
isValidFileType = true;
break;
}
}
if (isValidFileType)
{
FileStream fs = new FileStream(p_postedImageFileName, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
byte[] image = br.ReadBytes((int)fs.Length);
br.Close();
fs.Close();
return image;
}
return null;
}
catch (Exception ex)
{
throw ex;
}
}
問題: プロジェクト内ではなく、システム上のファイルを探します。
次のエラーが表示されます。
パス 'C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\10.0\images\dashboard\myvacstatus-ampm.png' の一部が見つかりませんでした。