我在用C#编写一个windows窗体程序想上传照片并保存在xml文件中。
我在用C#编写一个windows窗体程序想上传照片并保存在xml文件中,请问有这样的控件吗?能不能保存照片的路径,在需要显示是显示出图片呢?...
我在用C#编写一个windows窗体程序想上传照片并保存在xml文件中,请问有这样的控件吗?能不能保存照片的路径,在需要显示是显示出图片呢?
展开
4个回答
展开全部
winform是本地程序,所以不存在上传不上传。
思路是打开图片文件,转换为base64编码,然后保存在XML中。
使用图片时,只需要解码BASE64编码即可。
如果要将图片上传在服务端,只需要上传XML文件。
下面两个文件是对文件进行BASE64编码和解码的。你可以自行改进并使用。
//--------------------------------------------------------------------------------------
/// <summary>
/// 对任意类型的文件进行base64加码
/// </summary>
/// <param name="fileName">文件的路径和文件名</param>
/// <returns>对文件进行base64编码后的字符串</returns>
public static string EncodingForFile(string fileName)
{
System.IO.FileStream fs = System.IO.File.OpenRead(fileName);
System.IO.BinaryReader br = new System.IO.BinaryReader(fs);
string base64String = Convert.ToBase64String(br.ReadBytes((int)fs.Length));
br.Close();
fs.Close();
return base64String;
}
/// <summary>
/// 把经过base64编码的字符串保存为文件
/// </summary>
/// <param name="base64String">经base64加码后的字符串</param>
/// <param name="fileName">保存文件的路径和文件名</param>
/// <returns>保存文件是否成功</returns>
public static bool SaveDecodingToFile(string base64String, string fileName)
{
System.IO.FileStream fs = new System.IO.FileStream(fileName, System.IO.FileMode.Create);
System.IO.BinaryWriter bw = new System.IO.BinaryWriter(fs);
bw.Write(Convert.FromBase64String(base64String));
bw.Close();
fs.Close();
return true;
}
思路是打开图片文件,转换为base64编码,然后保存在XML中。
使用图片时,只需要解码BASE64编码即可。
如果要将图片上传在服务端,只需要上传XML文件。
下面两个文件是对文件进行BASE64编码和解码的。你可以自行改进并使用。
//--------------------------------------------------------------------------------------
/// <summary>
/// 对任意类型的文件进行base64加码
/// </summary>
/// <param name="fileName">文件的路径和文件名</param>
/// <returns>对文件进行base64编码后的字符串</returns>
public static string EncodingForFile(string fileName)
{
System.IO.FileStream fs = System.IO.File.OpenRead(fileName);
System.IO.BinaryReader br = new System.IO.BinaryReader(fs);
string base64String = Convert.ToBase64String(br.ReadBytes((int)fs.Length));
br.Close();
fs.Close();
return base64String;
}
/// <summary>
/// 把经过base64编码的字符串保存为文件
/// </summary>
/// <param name="base64String">经base64加码后的字符串</param>
/// <param name="fileName">保存文件的路径和文件名</param>
/// <returns>保存文件是否成功</returns>
public static bool SaveDecodingToFile(string base64String, string fileName)
{
System.IO.FileStream fs = new System.IO.FileStream(fileName, System.IO.FileMode.Create);
System.IO.BinaryWriter bw = new System.IO.BinaryWriter(fs);
bw.Write(Convert.FromBase64String(base64String));
bw.Close();
fs.Close();
return true;
}
展开全部
没有这样的控件,不知道你是想把文件路径存到xml中还是想把文件存到xml中,如果是存路径的话就比较简单,假如你的Debug中有个文件夹叫image,你就可以使用Application.StartPath + "\\image\\" + 图片名称 进行上传和下载显示等了,要是存文件的话就得转换成二进制,然后把二进制存到xml中,这样的话就得多些转换操作了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有这样的控件,只可以自己写。
有xmldocument类,是对xml操作的
有xmldocument类,是对xml操作的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没用过,可以把照片写成二进制数据,然后存入xml。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询