using System;
using System.Collections;
using System.Collections.Generic;
using System.Data.Linq;
using System.IO;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BLL;
namespace BLL
{
///
/// 上传附件相关
///
public class UploadAttachmentService
{
#region 附件显示
///
/// 附件显示
///
/// 文件夹路径
/// 附件路径
/// 附件显示HTML
public static string ShowAttachment(string rootValue, string path)
{
string htmlStr = string.Empty;
if (!string.IsNullOrEmpty(path))
{
htmlStr = "
";
string[] arrStr = path.Split(new string[] { "," }, System.StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < arrStr.Length; i++)
{
if (!string.IsNullOrEmpty(arrStr[i]))
{
string[] urlArray = arrStr[i].Split('\\');
string scanUrl = string.Empty;
for (int j = 0; j < urlArray.Length; j++)
{
scanUrl += urlArray[j] + "|";
}
string url = rootValue + arrStr[i].Replace('\\', '/');
string[] subUrl = url.Split('/');
string fileName = subUrl[subUrl.Count() - 1];
string newFileName = fileName.Substring(fileName.IndexOf("~") + 1);
if (newFileName.Contains("_"))
{
if (newFileName.Substring(0, 1) == "_")
{
newFileName = newFileName.Substring(1, newFileName.Length - 1);
}
else
{
newFileName = newFileName.Replace(newFileName.Split('_')[0], "");
newFileName = newFileName.Substring(1);
}
}
htmlStr += "" + newFileName + " | ";
}
}
htmlStr += "
";
}
return htmlStr;
}
#endregion
#region 附件显示 带删除
///
/// 附件显示
///
/// 文件夹路径
/// 附件路径
/// 附件显示HTML
public static string ShowAndDeleteAttachment(string rootValue, string path)
{
string htmlStr = string.Empty;
if (!string.IsNullOrEmpty(path))
{
htmlStr = "";
string[] arrStr = path.Split(new string[] { "," }, System.StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < arrStr.Length; i++)
{
if (!string.IsNullOrEmpty(arrStr[i]))
{
string[] urlArray = arrStr[i].Split('\\');
string scanUrl = string.Empty;
for (int j = 0; j < urlArray.Length; j++)
{
scanUrl += urlArray[j] + "|";
}
string url = rootValue + arrStr[i].Replace('\\', '/');
string[] subUrl = url.Split('/');
string fileName = subUrl[subUrl.Count() - 1];
string newFileName = fileName.Substring(fileName.IndexOf("~") + 1);
htmlStr += "" + newFileName + " | ";
htmlStr += "删除 |
";
}
}
htmlStr += "
";
}
return htmlStr;
}
#endregion
#region 附件上传
///
/// 附件上传
///
/// 上传控件
/// 上传路径
/// 定义路径
///
public static string UploadAttachment(string rootPath, FileUpload fileUpload, string fileUrl, string constUrl)
{
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;
}
}
else
{
fileUrl = string.Empty;
}
return fileUrl;
}
#endregion
#region 附件删除
///
/// 附件删除
///
/// 附件路径
/// 隐藏列路径
///
public static string DeleteAttachment(string fileUrl, string hiddenUrl)
{
string hdAttachUrlStr = hiddenUrl;
string[] urlArray = hdAttachUrlStr.Split('|');
string scanUrl = string.Empty;
for (int j = 0; j < urlArray.Length; j++)
{
if (!string.IsNullOrEmpty(urlArray[j]))
{
if (j == 0)
{
scanUrl += urlArray[j];
}
else
{
scanUrl += "\\" + urlArray[j];
}
}
}
if (!String.IsNullOrEmpty(fileUrl))
{
string[] arrStr = fileUrl.Split(new string[] { "," }, System.StringSplitOptions.RemoveEmptyEntries);
fileUrl = null;
for (int i = 0; i < arrStr.Length; i++)
{
if (scanUrl != arrStr[i])
{
if (i != arrStr.Length - 1)
{
fileUrl += arrStr[i] + ",";
}
else
{
fileUrl += arrStr[i];
}
}
}
}
return fileUrl;
}
#endregion
#region 附件打开公共方法
///
/// 显示附件文件
///
///
public static void ShowAttachmentsFile(string rootValue, string path)
{
if (!string.IsNullOrEmpty(path))
{
string[] arrStr = path.Split(new string[] { "," }, System.StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < arrStr.Length; i++)
{
if (!string.IsNullOrEmpty(arrStr[i]))
{
string[] urlArray = arrStr[i].Split('\\');
string scanUrl = string.Empty;
for (int j = 0; j < urlArray.Length; j++)
{
scanUrl += urlArray[j] + "|";
}
string url = rootValue + arrStr[i].Replace('\\', '/');
System.Web.HttpContext.Current.Response.Write("");
}
}
}
}
#endregion
#region 附件在Image中显示
///
/// 附件在Image中显示
///
/// 文件夹路径
/// 附件路径
/// 附件显示HTML
public static string ShowImage(string rootValue, string path)
{
string htmlStr = string.Empty;
if (!string.IsNullOrEmpty(path))
{
htmlStr = "";
string[] arrStr = path.Split(new string[] { "," }, System.StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < arrStr.Length; i++)
{
if (!string.IsNullOrEmpty(arrStr[i]))
{
string[] urlArray = arrStr[i].Split('\\');
string scanUrl = string.Empty;
for (int j = 0; j < urlArray.Length; j++)
{
scanUrl += urlArray[j] + "|";
}
string url = rootValue + arrStr[i].Replace('\\', '/');
string[] subUrl = url.Split('/');
string fileName = subUrl[subUrl.Count() - 1];
string newFileName = fileName.Substring(fileName.IndexOf("~") + 1);
htmlStr += " | ";
}
}
htmlStr += "
";
}
return htmlStr;
}
#endregion
}
}