/// <summary>
/// 上传附件
/// </summary>
string Path = "";//路径
string suffix = "";//尾缀
private void simpleButton4_Click_1(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.RestoreDirectory = true;
if (ofd.ShowDialog() == DialogResult.OK)
{
Path = ofd.FileName;
textEdit7.Text = filePath ;//路径
int index = Path.LastIndexOf("\\");
suffix = Path.Substring(index + 2);//获取附件名和尾缀
}
}
/// <summary>
/// 附件转换二进制数据(用于保存数据库)
/// </summary>
/// <param name="filePath">附件路径</param>
/// <returns>二进制</returns>
private byte[] fileConvertByte(string filePath)
{
byte[] bytContent = null;
System.IO.FileStream fs = null;
System.IO.BinaryReader br = null;
try
{
fs = new FileStream(filePath, System.IO.FileMode.Open);
}
catch
{
}
br = new BinaryReader((Stream)fs);
bytContent = br.ReadBytes((Int32)fs.Length);
return bytContent;
}
/// <summary>
/// 二进制数据转换为附件
/// </summary>
/// <param name="data">二进制数据</param>
/// <param name="fileName">附件.后缀</param>
/// <param name="savePath">保存路径</param>
/// <returns>保存的相对路径</returns>
public string ByteConvertFile(byte[] data, string fileName)
{
string savePath = "C:\\Users\\Administrator\\Desktop\\";//默认下载的路径
if (!System.IO.Directory.Exists(savePath))
{
Directory.CreateDirectory(savePath);
}
savePath += fileName;//文件名和尾缀
FileStream fs;
if (System.IO.File.Exists(savePath))
{
fs = new FileStream(savePath, FileMode.Truncate);
}
else
{
fs = new FileStream(savePath, FileMode.CreateNew);
}
BinaryWriter br = new BinaryWriter(fs);
br.Write(data, 0, data.Length);
br.Close();
fs.Close();
return savePath;
}
///自动打开下载的附件
///model.filter 二进制
///文件对应的名称和尾缀
OpenFile(ByteConvertFile(model.filter, model.Suffix));//自动打开