110 lines
3.5 KiB
C#
110 lines
3.5 KiB
C#
using System.IO;
|
|
|
|
namespace BLL
|
|
{
|
|
/// <summary>
|
|
/// 上传附件相关
|
|
/// </summary>
|
|
public class UploadFileService
|
|
{
|
|
#region 附件上传
|
|
/// <summary>
|
|
/// 附件上传
|
|
/// </summary>
|
|
/// <param name="fileUpload">上传控件</param>
|
|
/// <param name="fileUrl">上传路径</param>
|
|
/// <param name="constUrl">定义路径</param>
|
|
/// <returns></returns>
|
|
public static string UploadAttachment(string rootPath, FineUIPro.FileUpload fileUpload, string fileUrl, string constUrl)
|
|
{
|
|
if (!string.IsNullOrEmpty(fileUrl)) ////是否存在附件 存在则删除
|
|
{
|
|
string urlFullPath = rootPath + fileUrl;
|
|
if (File.Exists(urlFullPath))
|
|
{
|
|
File.Delete(urlFullPath);
|
|
}
|
|
}
|
|
|
|
string initFullPath = rootPath + constUrl;
|
|
if (!Directory.Exists(initFullPath))
|
|
{
|
|
Directory.CreateDirectory(initFullPath);
|
|
}
|
|
|
|
string filePath = fileUpload.PostedFile.FileName;
|
|
string fileName = Funs.GetNewFileName() + "~" + Path.GetFileName(filePath);
|
|
int count = fileUpload.PostedFile.ContentLength;
|
|
string savePath = constUrl + fileName;
|
|
string fullPath = initFullPath + fileName;
|
|
if (!File.Exists(fullPath))
|
|
{
|
|
byte[] buffer = new byte[count];
|
|
Stream stream = fileUpload.PostedFile.InputStream;
|
|
|
|
stream.Read(buffer, 0, count);
|
|
MemoryStream memoryStream = new MemoryStream(buffer);
|
|
FileStream fs = new FileStream(fullPath, FileMode.Create, FileAccess.Write);
|
|
memoryStream.WriteTo(fs);
|
|
memoryStream.Flush();
|
|
memoryStream.Close();
|
|
fs.Flush();
|
|
fs.Close();
|
|
memoryStream = null;
|
|
fs = null;
|
|
//if (!string.IsNullOrEmpty(fileUrl))
|
|
//{
|
|
// fileUrl += "," + savePath;
|
|
//}
|
|
//else
|
|
//{
|
|
// fileUrl += savePath;
|
|
//}
|
|
fileUrl = savePath;
|
|
}
|
|
else
|
|
{
|
|
fileUrl = string.Empty;
|
|
}
|
|
|
|
return fileUrl;
|
|
}
|
|
#endregion
|
|
|
|
#region 附件资源删除
|
|
/// <summary>
|
|
/// 附件资源删除
|
|
/// </summary>
|
|
/// <param name="rootPath"></param>
|
|
/// <param name="fileUrl"></param>
|
|
public static void DeleteFile(string rootPath, string fileUrl)
|
|
{
|
|
if (!string.IsNullOrEmpty(fileUrl))
|
|
{
|
|
string[] strs = fileUrl.Trim().Split(',');
|
|
foreach (var item in strs)
|
|
{
|
|
string urlFullPath = rootPath + item;
|
|
if (File.Exists(urlFullPath))
|
|
{
|
|
File.Delete(urlFullPath);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 上传文件路径
|
|
/// <summary>
|
|
/// 版本附件路径
|
|
/// </summary>
|
|
public const string SysVersionFilePath = "FileUpload\\SysVersion\\";
|
|
|
|
/// <summary>
|
|
/// 焊工二维码上传路径
|
|
/// </summary>
|
|
public const string QRCodeImageFilePath = "FileUpload\\Technical\\Welder\\";
|
|
#endregion
|
|
}
|
|
}
|