-
几个代码段:一、枚举定义:
1、EmUploadFileType
2、EmUploadFileResult
3、EmUploadFileEx
二、类定义
1、BaseItem.cs
2、FileUploadOperResult.cs
3、FileUploadInfo.cs
4、FileUploadResult.cs
5、FileWdItem.cs
三、逻辑方法
1、FileUploadUtil.cs
-
using System;
namespace SlowX.WebLib.Enums
{
/// <summary>
/// 上传文件类型
/// </summary>
[Serializable]
public partial class UploadFileType
{
/// <summary>
/// 上传文件类型
/// </summary>
public UploadFileType()
{
// 导入文件/导出文件/文档管理文件/应用上传文件/应用上传的临时文件/临时存储文件
}
#region Enum - EmUploadFileType
/// <summary>
/// 上传文件类型
/// </summary>
public enum EmUploadFileType
{
/// <summary>
/// 导入文件
/// </summary>
导入文件 = 1,
/// <summary>
/// 导出文件
/// </summary>
导出文件,
/// <summary>
/// 文档管理文件
/// </summary>
文档管理文件,
/// <summary>
/// 应用上传文件
/// </summary>
应用上传文件,
/// <summary>
/// 应用上传的临时文件
/// </summary>
应用上传的临时文件,
/// <summary>
/// 临时存储文件
/// </summary>
临时存储文件,
/// <summary>
/// 其他
/// </summary>
其他 = 99
}
#endregion Enum - EmUploadFileType
/// <summary>
/// 数组 - EmUploadFileType[]
/// </summary>
protected static EmUploadFileType[] m_EmArray = null;
/// <summary>
/// 数组 - EmUploadFileType[]
/// </summary>
public static EmUploadFileType[] EmArray
{
get
{
if(m_EmArray == null)
{
m_EmArray = EmArrayBuild();
}
return m_EmArray;
}
}
/// <summary>
/// 构建枚举EmUploadFileType的数组
/// </summary>
/// <returns></returns>
public static EmUploadFileType[] EmArrayBuild()
{
return new EmUploadFileType[]
{
EmUploadFileType.导入文件,
EmUploadFileType.导出文件,
EmUploadFileType.文档管理文件,
EmUploadFileType.应用上传文件,
EmUploadFileType.应用上传的临时文件,
EmUploadFileType.临时存储文件,
EmUploadFileType.其他
};
}
}
}
-
using System;
namespace SlowX.WebLib.Enums
{
/// <summary>
/// 上传文件类型
/// </summary>
[Serializable]
public partial class UploadFileResult
{
/// <summary>
/// 上传文件类型
/// </summary>
public UploadFileResult()
{
// 成功/文件过大/文件过小/类型不符合/系统异常
}
#region Enum - EmUploadFileResult
/// <summary>
/// 上传文件类型
/// </summary>
public enum EmUploadFileResult
{
/// <summary>
/// 成功
/// </summary>
成功 = 1,
/// <summary>
/// 文件过大
/// </summary>
文件过大,
/// <summary>
/// 文件过小
/// </summary>
文件过小,
/// <summary>
/// 类型不符合
/// </summary>
类型不符合,
/// <summary>
/// 系统异常
/// </summary>
系统异常
}
#endregion Enum - EmUploadFileResult
/// <summary>
/// 数组 - EmUploadFileResult[]
/// </summary>
protected static EmUploadFileResult[] m_EmArray = null;
/// <summary>
/// 数组 - EmUploadFileResult[]
/// </summary>
public static EmUploadFileResult[] EmArray
{
get
{
if(m_EmArray == null)
{
m_EmArray = EmArrayBuild();
}
return m_EmArray;
}
}
/// <summary>
/// 构建枚举EmUploadFileResult的数组
/// </summary>
/// <returns></returns>
public static EmUploadFileResult[] EmArrayBuild()
{
return new EmUploadFileResult[]
{
EmUploadFileResult.成功,
EmUploadFileResult.文件过大,
EmUploadFileResult.文件过小,
EmUploadFileResult.类型不符合,
EmUploadFileResult.系统异常
};
}
}
}
-
using System;
namespace SlowX.WebLib.Enums
{
/// <summary>
/// 上传文件类型
/// </summary>
[Serializable]
public partial class UploadFileEx
{
/// <summary>
/// 上传文件类型
/// </summary>
public UploadFileEx()
{
// 缺省/图片/文档/Excel/全部
}
#region Enum - EmUploadFileEx
/// <summary>
/// 上传文件类型
/// </summary>
public enum EmUploadFileEx
{
/// <summary>
/// 缺省
/// </summary>
缺省 = 1,
/// <summary>
/// 图片
/// </summary>
图片,
/// <summary>
/// 文档
/// </summary>
文档,
/// <summary>
/// Excel
/// </summary>
Excel,
/// <summary>
/// 全部
/// </summary>
全部
}
#endregion Enum - EmUploadFileEx
/// <summary>
/// 数组 - EmUploadFileEx[]
/// </summary>
protected static EmUploadFileEx[] m_EmArray = null;
/// <summary>
/// 数组 - EmUploadFileEx[]
/// </summary>
public static EmUploadFileEx[] EmArray
{
get
{
if(m_EmArray == null)
{
m_EmArray = EmArrayBuild();
}
return m_EmArray;
}
}
/// <summary>
/// 构建枚举EmUploadFileEx的数组
/// </summary>
/// <returns></returns>
public static EmUploadFileEx[] EmArrayBuild()
{
return new EmUploadFileEx[]
{
EmUploadFileEx.缺省,
EmUploadFileEx.图片,
EmUploadFileEx.文档,
EmUploadFileEx.Excel,
EmUploadFileEx.全部
};
}
}
}
-
using SlowX.WebLib.Classes.FileUploads;
using System.Web;
using System.Collections.Generic;
namespace SlowX.WebLib.Helpers
{
public partial class SlowXWebLibHelper
{
/// <summary>
/// 创建FileUploadInfo文件信息,获得文件的属性
/// </summary>
/// <param name="emEx"></param>
/// <param name="emFT"></param>
/// <returns></returns>
public FileUploadInfo FileUploadInfoCreate
(
Enums.UploadFileEx.EmUploadFileEx emEx,
Enums.UploadFileType.EmUploadFileType emFT
)
{
FileUploadInfo theResult = new FileUploadInfo();
theResult.EmUploadFileTypeV = emFT;
switch (emEx)
{
case Enums.UploadFileEx.EmUploadFileEx.全部:
break;
case Enums.UploadFileEx.EmUploadFileEx.图片:
theResult.AllowExtension = ".png|.jpg|.jpeg|.bmp|.gif|.ico|.psd";
break;
case Enums.UploadFileEx.EmUploadFileEx.文档:
theResult.AllowExtension = ".zip|.7z|.rar|.doc|.docx|.xls|.xlsx|.ppt|.pptx|.png|.jpg|.jpeg|.bmp|.gif|.ico|.psd";
break;
case Enums.UploadFileEx.EmUploadFileEx.Excel:
theResult.AllowExtension = ".xls";
break;
case Enums.UploadFileEx.EmUploadFileEx.缺省:
default:
theResult.NoAllowExtension = ".php|.jsp|.asp|.exe|.dll|.aspx|.bat|.js|.vb|.cs";
break;
}
return theResult;
}
/// <summary>
/// 创建FileUploadInfo文件信息,获得文件的属性
/// </summary>
/// <param name="emEx"></param>
/// <param name="emFT"></param>
/// <returns></returns>
public FileUploadResult FileUploadResultCreate8HttpPostedFile
(
FileUploadInfo fi,
HttpPostedFile fb
)
{
FileUploadResult theResult = new FileUploadResult();
if (HttpContext.Current == null)
{
theResult.EmUploadFileResultV
=
Enums.UploadFileResult.EmUploadFileResult.系统异常;
theResult.Msg = "没有获得网站属性信息";
return theResult;
}
if (fb == null)
{
theResult.EmUploadFileResultV
=
Enums.UploadFileResult.EmUploadFileResult.系统异常;
theResult.Msg = "没有获得上传文件信息";
return theResult;
}
string strPhyRootDir
=
HttpContext.Current.Request.PhysicalApplicationPath;
theResult.FileSize = fb.ContentLength;
theResult.FileOldName = fb.FileName;
theResult.FileExtensionSet();
theResult.FileName = fb.FileName;
if (!theResult.FileCheck(fi))
return theResult;
theResult.BuildInfo(strPhyRootDir, "~", fi.EmUploadFileTypeV);
return theResult;
}
/// <summary>
/// 获得上传文档相关的内容列表
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public List<FileWdItem> FileWdItemListConvertTo
(string str)
{
if (str == null || str.Length == 0)
return null;
List<FileWdItem>
theResult
=
new List<FileWdItem>();
string[] sA = str.Split('|');
string strTmp = null;
FileWdItem
item = null;
string strName = null;
string strUrl = null;
int idx = -1;
foreach (string s in sA)
{
strTmp = s;
if (strTmp == null)
continue;
if (strTmp.Length == 0)
continue;
strTmp = strTmp.Trim();
if (strTmp.Length == 0)
continue;
idx = strTmp.IndexOf(":");
if (idx == -1)
continue;
strName = strTmp.Substring(0, idx);
strUrl = strTmp.Substring(idx + 1);
item = new FileWdItem();
item.FileName = strName;
item.FileUrl = strUrl;
theResult.Add(item);
}
return theResult;
}
}
}
-
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Web;
namespace SlowX.WebLib.Classes.FileUploads
{
/// <summary>
///
/// </summary>
[Serializable]
public partial class FileWdItem
{
/// <summary>
///
/// </summary>
public FileWdItem()
{
}
#region FileName ~ 文件名
/// <summary>
/// FileName ~ 文件名 == 比如:eking.txt
/// </summary>
protected string m_FileName = null;
/// <summary>
/// FileName ~ 文件名 == 比如:eking.txt
/// </summary>
public string FileName
{
get
{
return m_FileName;
}
set
{
m_FileName = value;
}
}
#endregion FileName ~ 文件名
#region FileUrl ~ 文件URL地址
/// <summary>
/// FileUrl ~ 文件URL地址
/// </summary>
protected string m_FileUrl = null;
/// <summary>
/// FileUrl ~ 文件URL地址
/// </summary>
public string FileUrl
{
get
{
return m_FileUrl;
}
set
{
m_FileUrl = value;
}
}
#endregion FileUrl ~ 文件URL地址
/// <summary>
///
/// </summary>
/// <returns></returns>
public string ToFileExt()
{
string strName = FileName;
if (strName == null || strName.Length == 0)
{
return "";
}
int idx = strName.LastIndexOf(".");
if (idx == -1)
return "";
return strName.Substring(idx);
}
public string ToPhyFullName(string phyFullPath)
{
// FileUrl = ~/ 开头 //
return phyFullPath + FileUrl.Substring(2);
}
}
}
-
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Web;
namespace SlowX.WebLib.Classes.FileUploads
{
/// <summary>
/// 上传文件的结果
/// </summary>
[Serializable]
public class FileUploadResult
{
/// <summary>
/// 上传文件的结果
/// </summary>
public FileUploadResult()
{
}
#region EmUploadFileResultV ~ 上传文件结果
/// <summary>
/// EmUploadFileResultV ~ 上传文件结果
/// </summary>
protected Enums.UploadFileResult.EmUploadFileResult m_EmUploadFileResultV
=
Enums.UploadFileResult.EmUploadFileResult.成功;
/// <summary>
/// EmUploadFileResultV ~ 上传文件结果
/// </summary>
public Enums.UploadFileResult.EmUploadFileResult EmUploadFileResultV
{
get
{
return m_EmUploadFileResultV;
}
set
{
m_EmUploadFileResultV = value;
}
}
#endregion EmUploadFileResultV ~ 上传文件结果
#region Msg ~ 返回消息
/// <summary>
/// Msg ~ 返回消息
/// </summary>
protected string m_Msg = null;
/// <summary>
/// Msg ~ 返回消息
/// </summary>
public string Msg
{
get
{
return m_Msg;
}
set
{
m_Msg = value;
}
}
#endregion Msg ~ 返回消息
#region TheGuid ~ Guid标识
/// <summary>
/// TheGuid ~ Guid标识
/// </summary>
protected string m_TheGuid = null;
/// <summary>
/// TheGuid ~ Guid标识
/// </summary>
public string TheGuid
{
get
{
return m_TheGuid;
}
set
{
m_TheGuid = value;
}
}
#endregion TheGuid ~ Guid标识
#region FileExtension ~ 文件后缀
/// <summary>
/// FileExtension ~ 文件后缀 == 比如:.txt
/// </summary>
protected string m_FileExtension = null;
/// <summary>
/// FileExtension ~ 文件后缀 == 比如:.txt
/// </summary>
public string FileExtension
{
get
{
return m_FileExtension;
}
set
{
m_FileExtension = value;
}
}
#endregion FileExtension ~ 文件后缀
#region FileSize ~ 文件大小
/// <summary>
/// FileSize ~ 文件大小
/// </summary>
protected long m_FileSize = 0;
/// <summary>
/// FileSize ~ 文件大小
/// </summary>
public long FileSize
{
get
{
return m_FileSize;
}
set
{
m_FileSize = value;
}
}
#endregion FileSize ~ 文件大小
#region FileName ~ 文件名
/// <summary>
/// FileName ~ 文件名 == 比如:eking.txt
/// </summary>
protected string m_FileName = null;
/// <summary>
/// FileName ~ 文件名 == 比如:eking.txt
/// </summary>
public string FileName
{
get
{
return m_FileName;
}
set
{
m_FileName = value;
}
}
#endregion FileName ~ 文件名
#region FileWebDir ~ 文件网站目录
/// <summary>
/// FileWebDir ~ 文件网站目录
/// </summary>
protected string m_FileWebDir = null;
/// <summary>
/// FileWebDir ~ 文件网站目录
/// </summary>
public string FileWebDir
{
get
{
return m_FileWebDir;
}
set
{
m_FileWebDir = value;
}
}
#endregion FileWebDir ~ 文件网站目录
#region FilePhyFullName ~ 文件完整物理路径
/// <summary>
/// FilePhyFullName ~ 文件完整物理路径
/// </summary>
protected string m_FilePhyFullName = null;
/// <summary>
/// FilePhyFullName ~ 文件完整物理路径
/// </summary>
public string FilePhyFullName
{
get
{
return m_FilePhyFullName;
}
set
{
m_FilePhyFullName = value;
}
}
#endregion FilePhyFullName ~ 文件完整物理路径
#region FileWebFullName ~ 文件Web路径
/// <summary>
/// FileWebFullName ~ 文件Web路径
/// </summary>
protected string m_FileWebFullName = null;
/// <summary>
/// FileWebFullName ~ 文件Web路径
/// </summary>
public string FileWebFullName
{
get
{
return m_FileWebFullName;
}
set
{
m_FileWebFullName = value;
}
}
#endregion FileWebFullName ~ 文件Web路径
#region FileOldName ~ 文件原始名字
/// <summary>
/// FileOldName ~ 文件原始名字
/// </summary>
protected string m_FileOldName = null;
/// <summary>
/// FileOldName ~ 文件原始名字
/// </summary>
public string FileOldName
{
get
{
return m_FileOldName;
}
set
{
m_FileOldName = value;
}
}
#endregion FileOldName ~ 文件原始名字
/// <summary>
/// 设置文件后缀名
/// </summary>
public void FileExtensionSet()
{
FileExtension = "";
string strFileOldName = FileOldName;
if (strFileOldName == null || strFileOldName.Length == 0)
{
return;
}
int idx = strFileOldName.LastIndexOf('.');
if (idx == -1)
{
return;
}
FileExtension = strFileOldName.Substring(idx);
}
/// <summary>
///
/// </summary>
/// <param name="fi"></param>
/// <returns></returns>
public bool FileCheck(FileUploadInfo fi)
{
if (fi == null)
return true;
if (FileSize < fi.AllowMinSize)
{
EmUploadFileResultV = Enums.UploadFileResult.EmUploadFileResult.文件过小;
return false;
}
if (fi.AllowMaxSize != 0)
{
if (FileSize > fi.AllowMaxSize)
{
EmUploadFileResultV = Enums.UploadFileResult.EmUploadFileResult.文件过大;
return false;
}
}
string strFileExtension = FileExtension;
// 无后缀用 - 表示 //
if (strFileExtension == null || strFileExtension.Length == 0)
strFileExtension = "|-|";
else
strFileExtension = "|" + strFileExtension.Trim().ToLower() + "|";
// 允许类型优先 //
string str = fi.AllowExtension;
if (str != null && str.Length > 0)
{
str = "|" + str.Trim().ToLower() + "|";
if (!str.Contains(strFileExtension))
{
EmUploadFileResultV = Enums.UploadFileResult.EmUploadFileResult.类型不符合;
return false;
}
}
// 判断不允许类型 //
str = fi.NoAllowExtension;
if (str != null && str.Length > 0)
{
str = "|" + str.Trim().ToLower() + "|";
if (str.Contains(strFileExtension))
{
EmUploadFileResultV = Enums.UploadFileResult.EmUploadFileResult.类型不符合;
return false;
}
}
return true;
}
/// <summary>
/// 获得文件的路径根目录:WebFiles/[subRootName]/2017[时间年]/3[时间月]/28[时间日]/guid前16位/guid后16位/
/// </summary>
/// <returns></returns>
protected string ToFileRootDir(string subRootName, string theGuid)
{
DateTime dtNow = DateTime.Now;
// WebFiles/SaveFiles放保存的文件 //
// WebFiles/DelFiles放删除的文件(回收站) //
return "WebFiles/SaveFiles/" + subRootName + "/"
+ dtNow.Year.ToString() + "/"
+ dtNow.Month.ToString() + "/"
+ dtNow.Day.ToString() + "/"
+ theGuid.Substring(0, 16) + "/"
+ theGuid.Substring(16) + "/";
}
/// <summary>
///
/// </summary>
/// <param name="strPhyRootDir">网站相对的根目录</param>
/// <param name="preChar">缺省是~</param>
/// <param name="emFT">上传文件类型</param>
public void BuildInfo(string strPhyRootDir, string preChar, Enums.UploadFileType.EmUploadFileType emFT)
{
// 获得Guid //
string strTheGuid = System.Guid.NewGuid().ToString("N");
// 获得根目录的名称 //
string subRootName = Enums.UploadFileType.GetRootDirName(emFT);
// 网页根目录 //
string strFileWebDir = ToFileRootDir(subRootName, strTheGuid);
// 网页目录 //
this.FileWebDir = strFileWebDir;
// 物理完整路径 //
this.FilePhyFullName = strPhyRootDir + strFileWebDir.Replace("/", "\\") + FileName;
// 网页相对路径 //
this.FileWebFullName = preChar + "/" + strFileWebDir + FileName;
}
///// <summary>
/////
///// </summary>
///// <param name="fb"></param>
///// <param name="allowOverwrite"></param>
///// <returns></returns>
//public bool SaveAsFile(HttpPostedFileBase fb, bool allowOverwrite)
//{
// if (FilePhyFullName == null || FilePhyFullName.Length == 0)
// {
// EmUploadFileResultV = Enums.UploadFileResult.EmUploadFileResult.系统异常;
// Msg = "没有指定保存文件的路径";
// return false;
// }
// try
// {
// FileInfo info = new FileInfo(FilePhyFullName);
// if (info.Exists)
// {
// if (!allowOverwrite)
// {
// EmUploadFileResultV = Enums.UploadFileResult.EmUploadFileResult.系统异常;
// Msg = "文件已存在";
// info = null;
// return false;
// }
// else
// {
// File.Delete(info.FullName);
// }
// }
// else
// {
// // 创建目录 //
// if (!info.Directory.Exists)
// {
// Directory.CreateDirectory(info.Directory.FullName);
// }
// }
// // 保存文件 //
// fb.SaveAs(info.FullName);
// info = null;
// return true;
// }
// catch (Exception err)
// {
// EmUploadFileResultV = Enums.UploadFileResult.EmUploadFileResult.系统异常;
// Msg = err.Message;
// return false;
// }
//}
/// <summary>
///
/// </summary>
/// <param name="fb"></param>
/// <param name="allowOverwrite"></param>
/// <returns></returns>
public bool SaveAsUpFile(HttpPostedFile fb, bool allowOverwrite)
{
if (FilePhyFullName == null || FilePhyFullName.Length == 0)
{
EmUploadFileResultV = Enums.UploadFileResult.EmUploadFileResult.系统异常;
Msg = "没有指定保存文件的路径";
return false;
}
try
{
FileInfo info = new FileInfo(FilePhyFullName);
if (info.Exists)
{
if (!allowOverwrite)
{
EmUploadFileResultV = Enums.UploadFileResult.EmUploadFileResult.系统异常;
Msg = "文件已存在";
info = null;
return false;
}
else
{
File.Delete(info.FullName);
}
}
else
{
// 创建目录 //
if (!info.Directory.Exists)
{
Directory.CreateDirectory(info.Directory.FullName);
}
}
// 保存文件 //
fb.SaveAs(info.FullName);
info = null;
return true;
}
catch (Exception err)
{
EmUploadFileResultV = Enums.UploadFileResult.EmUploadFileResult.系统异常;
Msg = err.Message;
return false;
}
}
/// <summary>
///
/// </summary>
/// <returns></returns>
public bool IsError()
{
if (EmUploadFileResultV == Enums.UploadFileResult.EmUploadFileResult.成功)
return false;
return true;
}
/// <summary>
///
/// </summary>
/// <returns></returns>
public string MsgGet()
{
if (Msg == null || Msg.Length == 0)
return EmUploadFileResultV.ToString();
return Msg;
}
}
}
-
using System;
using System.Collections.Generic;
using System.Text;
namespace SlowX.WebLib.Classes.FileUploads
{
/// <summary>
/// 上传文件相关的信息
/// </summary>
[Serializable]
public class FileUploadInfo
{
/// <summary>
/// 上传文件相关的信息
/// </summary>
public FileUploadInfo()
{
}
#region EmUploadFileTypeV ~ 上传文件类型
/// <summary>
/// EmUploadFileTypeV ~ 上传文件类型
/// </summary>
protected Enums.UploadFileType.EmUploadFileType m_EmUploadFileTypeV
=
Enums.UploadFileType.EmUploadFileType.导入文件;
/// <summary>
/// EmUploadFileTypeV ~ 上传文件类型
/// </summary>
public Enums.UploadFileType.EmUploadFileType EmUploadFileTypeV
{
get
{
return m_EmUploadFileTypeV;
}
set
{
m_EmUploadFileTypeV = value;
}
}
#endregion EmUploadFileTypeV ~ 上传文件类型
#region AllowMinSize ~ 允许最小值
/// <summary>
/// AllowMinSize ~ 允许最小值
/// </summary>
protected long m_AllowMinSize = 0;
/// <summary>
/// AllowMinSize ~ 允许最小值
/// </summary>
public long AllowMinSize
{
get
{
return m_AllowMinSize;
}
set
{
m_AllowMinSize = value;
}
}
#endregion AllowMinSize ~ 允许最小值
#region AllowMaxSize ~ 允许最大值
/// <summary>
/// AllowMaxSize ~ 允许最大值
/// </summary>
protected long m_AllowMaxSize = 0;
/// <summary>
/// AllowMaxSize ~ 允许最大值
/// </summary>
public long AllowMaxSize
{
get
{
return m_AllowMaxSize;
}
set
{
m_AllowMaxSize = value;
}
}
#endregion AllowMaxSize ~ 允许最大值
#region AllowExtension ~ 允许后缀
/// <summary>
/// AllowExtension ~ 允许后缀
/// </summary>
protected string m_AllowExtension = null;
/// <summary>
/// AllowExtension ~ 允许后缀
/// </summary>
public string AllowExtension
{
get
{
return m_AllowExtension;
}
set
{
m_AllowExtension = value;
}
}
#endregion AllowExtension ~ 允许后缀
#region NoAllowExtension ~ 不允许后缀
/// <summary>
/// NoAllowExtension ~ 不允许后缀
/// </summary>
protected string m_NoAllowExtension = null;
/// <summary>
/// NoAllowExtension ~ 不允许后缀
/// </summary>
public string NoAllowExtension
{
get
{
return m_NoAllowExtension;
}
set
{
m_NoAllowExtension = value;
}
}
#endregion NoAllowExtension ~ 不允许后缀
}
}
-
using System;
using System.Collections.Generic;
using System.Text;
namespace SlowX.WebLib.Classes.JsonItems
{
/// <summary>
/// 文件上传结果
/// </summary>
[Serializable]
public class FileUploadOperResult
:
BaseItem
{
/// <summary>
///
/// </summary>
public FileUploadOperResult()
{
}
/// <summary>
///
/// </summary>
/// <param name="_IsSucc"></param>
public FileUploadOperResult(bool _IsSucc)
{
m_IsSucc = _IsSucc;
}
/// <summary>
///
/// </summary>
/// <param name="_IsSucc"></param>
/// <param name="_Msg"></param>
public FileUploadOperResult(bool _IsSucc, string _Msg)
{
m_IsSucc = _IsSucc;
m_Msg = _Msg;
}
#region IsSucc ~ 是否成功
/// <summary>
/// IsSucc ~ 是否成功
/// </summary>
protected bool m_IsSucc = true;
/// <summary>
/// IsSucc ~ 是否成功
/// </summary>
public bool IsSucc
{
get
{
return m_IsSucc;
}
set
{
m_IsSucc = value;
}
}
#endregion IsSucc ~ 是否成功
#region Msg ~ 操作提示
/// <summary>
/// Msg ~ 操作提示
/// </summary>
protected string m_Msg = "";
/// <summary>
/// Msg ~ 操作提示
/// </summary>
public string Msg
{
get
{
return m_Msg;
}
set
{
m_Msg = value;
}
}
#endregion Msg ~ 操作提示
#region FileName ~ 文件名
/// <summary>
/// FileName ~ 文件名
/// </summary>
protected string m_FileName = null;
/// <summary>
/// FileName ~ 文件名
/// </summary>
public string FileName
{
get
{
return m_FileName;
}
set
{
m_FileName = value;
}
}
#endregion FileName ~ 文件名
#region FileExtension ~ 文件后缀
/// <summary>
/// FileExtension ~ 文件后缀
/// </summary>
protected string m_FileExtension = null;
/// <summary>
/// FileExtension ~ 文件后缀
/// </summary>
public string FileExtension
{
get
{
return m_FileExtension;
}
set
{
m_FileExtension = value;
}
}
#endregion FileExtension ~ 文件后缀
#region FileUrl ~ 文件URL地址
/// <summary>
/// FileUrl ~ 文件URL地址
/// </summary>
protected string m_FileUrl = null;
/// <summary>
/// FileUrl ~ 文件URL地址
/// </summary>
public string FileUrl
{
get
{
return m_FileUrl;
}
set
{
m_FileUrl = value;
}
}
#endregion FileUrl ~ 文件URL地址
#region FileChunked ~ 文件是否分块
/// <summary>
/// FileChunked ~ 文件是否分块
/// </summary>
protected bool m_FileChunked = false;
/// <summary>
/// FileChunked ~ 文件是否分块
/// </summary>
public bool FileChunked
{
get
{
return m_FileChunked;
}
set
{
m_FileChunked = value;
}
}
#endregion FileChunked ~ 文件是否分块
#region FileGuid ~ 文件的Guid
/// <summary>
/// FileGuid ~ 文件的Guid
/// </summary>
protected string m_FileGuid = null;
/// <summary>
/// FileGuid ~ 文件的Guid
/// </summary>
public string FileGuid
{
get
{
return m_FileGuid;
}
set
{
m_FileGuid = value;
}
}
#endregion FileGuid ~ 文件的Guid
/// <summary>
/// 转成Json
/// </summary>
/// <returns></returns>
public override string ToJson()
{
StringBuilder theResult = new StringBuilder();
theResult.Append(KeyStrToJson("Msg", Msg));
theResult.Append(",");
theResult.Append(KeyStrToJson("FileName", FileName));
theResult.Append(",");
theResult.Append(KeyStrToJson("FileExtension", FileExtension));
theResult.Append(",");
theResult.Append(KeyStrToJson("FileUrl", FileUrl));
theResult.Append(",");
theResult.Append(KeyStrToJson("FileGuid", FileGuid));
theResult.Append(",");
theResult.Append(KeyBooleanToJson("FileChunked", FileChunked));
theResult.Append(",");
theResult.Append(KeyBooleanToJson("IsSucc", IsSucc));
return "{" + theResult.ToString() + "}";
// return "{\"IsSucc\":" + IsSucc.ToString().ToLower() + ",\"Msg\":\"" + StrToJson(Msg) + "\"}";
}
}
}
-
using System;
using System.Collections.Generic;
using System.Text;
namespace SlowX.WebLib.Classes.JsonItems
{
/// <summary>
/// 树节点
/// </summary>
[Serializable]
public class BaseItem
{
/// <summary>
///
/// </summary>
public BaseItem()
{
}
/// <summary>
/// 字符串转成Json格式的内容 - StrToJson
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public string StrToJson(string str)
{
if (str == null)
return "";
int iLen = str.Length;
StringBuilder theResult = new StringBuilder();
char c = (char)0;
for (int i = 0; i < iLen; ++i)
{
c = str[i];
switch (c)
{
case '\r':
theResult.Append("\\r");
break;
case '\n':
theResult.Append("\\n");
break;
case '\t':
theResult.Append("\\t");
break;
case '\\':
theResult.Append("\\\\");
break;
case '"':
theResult.Append("\\\"");
break;
default:
theResult.Append(c);
break;
}
}
return theResult.ToString();
}
/// <summary>
/// 组合json格式的Key:Value - KeyStrToJson
/// </summary>
/// <param name="strName"></param>
/// <param name="str"></param>
/// <returns></returns>
protected string KeyStrToJson(string strName, string str)
{
str = StrToJson(str);
return "\"" + strName + "\":\"" + str + "\"";
}
/// <summary>
/// 组合json格式的Key:Value - KeyStrToJson
/// </summary>
/// <param name="strName"></param>
/// <param name="str"></param>
/// <returns></returns>
protected string KeyIntToJson(string strName, int str)
{
return "\"" + strName + "\":" + str.ToString() + "";
}
/// <summary>
/// 组合json格式的Key:Value - KeyStrToJson
/// </summary>
/// <param name="strName"></param>
/// <param name="theValue"></param>
/// <returns></returns>
protected string KeyBooleanToJson(string strName, bool theValue)
{
return "\"" + strName + "\":" + theValue.ToString().ToLower() + "";
}
/// <summary>
/// 转成Json
/// </summary>
/// <returns></returns>
public virtual string ToJson()
{
return "";
}
}
}
-
using System;
namespace SlowX.WebLib.Enums
{
public partial class UploadFileType
{
/// <summary>
///
/// </summary>
/// <param name="em"></param>
/// <returns></returns>
public static string GetRootDirName(EmUploadFileType em)
{
switch (em)
{
case EmUploadFileType.导入文件:
return "FileImports";
case EmUploadFileType.导出文件:
return "FileExports";
case EmUploadFileType.应用上传文件:
return "AppUps";
case EmUploadFileType.应用上传的临时文件:
return "AppTmpUps";
case EmUploadFileType.文档管理文件:
return "UserUps";
case EmUploadFileType.临时存储文件:
return "AppTmpSaves";
case EmUploadFileType.其他:
default:
return "Others";
}
}
}
}
-
<%@ WebHandler Language="C#" Class="FileUploadHandler" %>
using System;
using System.Web;
using SlowX.WebLib.Classes.JsonItems;
using SlowX.WebLib.Classes.FileUploads;
public class FileUploadHandler : IHttpHandler {
#region 文件分片
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
if (context.Request.Files == null)
return;
if (context.Request.Files.Count == 0)
return;
string strJson = null;
FileUploadOperResult op = new FileUploadOperResult();
// 没有分片直接保存 //
HttpPostedFile fb = context.Request.Files[0];
if (fb == null)
{
op.IsSucc = false;
op.Msg = "没有获得上传控件";
strJson = op.ToJson();
context.Response.Write(strJson);
return;
}
SlowX.WebLib.Helpers.SlowXWebLibHelper
wh
=
SlowX.WebLib.Helpers.SlowXWebLibHelper.cInstance;
FileUploadInfo fi
=
wh.FileUploadInfoCreate
(
SlowX.WebLib.Enums.UploadFileEx.EmUploadFileEx.缺省,
SlowX.WebLib.Enums.UploadFileType.EmUploadFileType.临时存储文件
);
FileUploadResult fr
=
wh.FileUploadResultCreate8HttpPostedFile(fi, fb);
if (fr.IsError())
{
op.IsSucc = false;
op.Msg = fr.MsgGet();
strJson = op.ToJson();
context.Response.Write(strJson);
return;
}
fr.SaveAsUpFile(fb, false);
// context.Request.Files[0].SaveAs(context.Server.MapPath("~/FilesStorage/" + DateTime.Now.ToFileTime() + Path.GetExtension(context.Request.Files[0].FileName)));
// context.Response.Write("{\"chunked\" : false, \"hasError\" : false, \"url:../../FilesStorage/" + DateTime.Now.ToFileTime() + Path.GetExtension(context.Request.Files[0].FileName)+" }");
// context.Response.Write("\"url:../../FilesStorage/" + DateTime.Now.ToFileTime() + Path.GetExtension(context.Request.Files[0].FileName) + "");
op.IsSucc = true;
op.Msg = "上传成功";
op.FileName = fr.FileName;
op.FileGuid = fr.TheGuid;
op.FileExtension = fr.FileExtension;
op.FileChunked = false;
op.FileUrl = fr.FileWebFullName;
strJson = op.ToJson();
context.Response.Write(strJson);
return;
//// 如果进行了分片 //
//if (context.Request.Form.AllKeys.Any(m => m == "chunk"))
//{
// eKingSzdfPageHelper wh
// =
// eKingSzdfPageHelper.ekInstance;
// //取得chunk和chunks
// int chunk = Convert.ToInt32(context.Request.Form["chunk"]);//当前分片在上传分片中的顺序(从0开始)
// int chunks = Convert.ToInt32(context.Request.Form["chunks"]);//总分片数
// // 根据GUID创建用该GUID命名的临时文件夹 //
// // string folder = context.Server.MapPath("~/FilesStorage/" + context.Request["guid"] + "/");
// string theGuid = context.Request["guid"];
// // string folder = context.Request.PhysicalApplicationPath + "WebFiles/SaveFiles/AppTmpMergeSaves/" + theGuid + "/";
// string folder = wh.FileUploadToMergeFileRootName(context, theGuid);
// string path = folder + chunk;
// //建立临时传输文件夹
// if (!Directory.Exists(Path.GetDirectoryName(folder)))
// {
// Directory.CreateDirectory(folder);
// }
// FileStream addFile = new FileStream(path, FileMode.Append, FileAccess.Write);
// BinaryWriter AddWriter = new BinaryWriter(addFile);
// //获得上传的分片数据流
// HttpPostedFile file = context.Request.Files[0];
// Stream stream = file.InputStream;
// BinaryReader TempReader = new BinaryReader(stream);
// //将上传的分片追加到临时文件末尾
// AddWriter.Write(TempReader.ReadBytes((int)stream.Length));
// //关闭BinaryReader文件阅读器
// TempReader.Close();
// stream.Close();
// AddWriter.Close();
// addFile.Close();
// TempReader.Dispose();
// stream.Dispose();
// AddWriter.Dispose();
// addFile.Dispose();
// FileUploadOperResult op = new FileUploadOperResult();
// op.IsSucc = true;
// op.FileChunked = true;
// op.FileGuid = theGuid;
// op.FileName = file.FileName;
// op.FileUrl = "";
// op.FileExtension = Path.GetExtension(file.FileName);
// strJson = op.ToJson();
// context.Response.Write(strJson);
// //context.Response.Write("{\"chunked\" : true, \"hasError\" : false, \"ek\": \"eking\", \"url\": \"" + Path.GetExtension(file.FileName) + "\"}");
// // context.Response.Write("\"chunked\" : true, \"hasError\" : false, \"ek\": \"eking\", \"url:../../FilesStorage/" + context.Request["guid"] + Path.GetExtension(file.FileName) + "");
//}
//else
//{
// FileUploadOperResult op = new FileUploadOperResult();
// // 没有分片直接保存 //
// HttpPostedFile fb = context.Request.Files[0];
// if (fb == null)
// {
// op.IsSucc = false;
// op.Msg = "没有获得上传控件";
// strJson = op.ToJson();
// context.Response.Write(strJson);
// return;
// }
// eKing.SzdfPage.Helpers.eKingSzdfPageHelper
// wh
// =
// eKing.SzdfPage.Helpers.eKingSzdfPageHelper.ekInstance;
// FileUploadInfo fi
// =
// wh.FileUploadInfoCreate
// (
// eKing.SzdfPage.Enums.UploadFileEx.EmUploadFileEx.缺省,
// eKing.SzdfPage.Enums.UploadFileType.EmUploadFileType.临时存储文件
// );
// FileUploadResult fr
// =
// wh.FileUploadResultCreate8HttpPostedFile(fi, fb);
// if (fr.IsError())
// {
// op.IsSucc = false;
// op.Msg = fr.MsgGet();
// strJson = op.ToJson();
// context.Response.Write(strJson);
// return;
// }
// fr.SaveAsUpFile(fb, false);
// // context.Request.Files[0].SaveAs(context.Server.MapPath("~/FilesStorage/" + DateTime.Now.ToFileTime() + Path.GetExtension(context.Request.Files[0].FileName)));
// // context.Response.Write("{\"chunked\" : false, \"hasError\" : false, \"url:../../FilesStorage/" + DateTime.Now.ToFileTime() + Path.GetExtension(context.Request.Files[0].FileName)+" }");
// // context.Response.Write("\"url:../../FilesStorage/" + DateTime.Now.ToFileTime() + Path.GetExtension(context.Request.Files[0].FileName) + "");
// op.IsSucc = true;
// op.Msg = "上传成功";
// op.FileName = fr.FileName;
// op.FileGuid = fr.TheGuid;
// op.FileExtension = fr.FileExtension;
// op.FileChunked = false;
// op.FileUrl = fr.FileWebFullName;
// strJson = op.ToJson();
// context.Response.Write(strJson);
// return;
//}
}
#endregion
/// <summary>
///
/// </summary>
public bool IsReusable
{
get
{
return false;
}
}
}
-
using eKing.SzdfPage.Helpers;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
namespace eKingWGSS.Website.Management.Handlers.WebFileUpLoad
{
/// <summary>
/// MergeFilesHandler 的摘要说明
/// </summary>
public class MergeFilesHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
eKingSzdfPageHelper wh
=
eKingSzdfPageHelper.ekInstance;
context.Response.ContentType = "text/plain";
string theGuid = context.Request["guid"];
string fileExt = context.Request["fileExt"];
// string root = context.Server.MapPath("~/FilesStorage/");
// string root = wh.FileUploadToMergeFileRootName(context, theGuid);
string sourcePath = wh.FileUploadToMergeFileRootName(context, theGuid); // Path.Combine(root, guid + "/");//源数据文件夹
// 合并后的文件 //
string targetPath = wh.FileUploadToMergeFileRootName(context, null) + Guid.NewGuid() + fileExt;
// string targetPath = Path.Combine(root, Guid.NewGuid() + fileExt);//合并后的文件
DirectoryInfo dicInfo = new DirectoryInfo(sourcePath);
if (Directory.Exists(Path.GetDirectoryName(sourcePath)))
{
FileInfo[] files = dicInfo.GetFiles();
foreach (FileInfo file in files.OrderBy(f => int.Parse(f.Name)))
{
FileStream addFile = new FileStream(targetPath, FileMode.Append, FileAccess.Write);
BinaryWriter AddWriter = new BinaryWriter(addFile);
//获得上传的分片数据流
Stream stream = file.Open(FileMode.Open);
BinaryReader TempReader = new BinaryReader(stream);
//将上传的分片追加到临时文件末尾
AddWriter.Write(TempReader.ReadBytes((int)stream.Length));
//关闭BinaryReader文件阅读器
TempReader.Close();
stream.Close();
AddWriter.Close();
addFile.Close();
TempReader.Dispose();
stream.Dispose();
AddWriter.Dispose();
addFile.Dispose();
}
// 删除旧目录 //
DeleteFolder(sourcePath);
// 打印结果 //
context.Response.Write("{\"chunked\" : true, \"hasError\" : false, \"savePath\" :\"" + System.Web.HttpUtility.UrlEncode(targetPath) + "\"}");
//context.Response.Write("{\"hasError\" : false}");
}
else
{
context.Response.Write("{\"hasError\" : true}");
}
}
/// <summary>
/// 删除文件夹及其内容
/// </summary>
/// <param name="dir"></param>
private static void DeleteFolder(string strPath)
{
//删除这个目录下的所有子目录
if (Directory.GetDirectories(strPath).Length > 0)
{
foreach (string fl in Directory.GetDirectories(strPath))
{
Directory.Delete(fl, true);
}
}
//删除这个目录下的所有文件
if (Directory.GetFiles(strPath).Length > 0)
{
foreach (string f in Directory.GetFiles(strPath))
{
System.IO.File.Delete(f);
}
}
Directory.Delete(strPath, true);
}
/// <summary>
/// 合并文件
/// </summary>
public bool IsReusable
{
get
{
return false;
}
}
}
}
-
#region 保存事件
/// <summary>
/// 保存事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btn_Save_Click(object sender, EventArgs e)
{
try
{
btnUploadImageSaveClick(null);
}
catch (Exception err)
{
PageBaseExceptionDO(err);
}
}
/// <summary>
///
/// </summary>
/// <param name="imageFileName"></param>
/// <returns></returns>
protected int GetImageW(string imageFileName)
{
try
{
System.Drawing.Image img
=
System.Drawing.Image.FromFile(imageFileName);
int theResult = img.Width;
img.Dispose();
return theResult;
}
catch
{
return 0;
}
}
protected int GetImageH(string imageFileName)
{
try
{
System.Drawing.Image img
=
System.Drawing.Image.FromFile(imageFileName);
int theResult = img.Height;
img.Dispose();
return theResult;
}
catch
{
return 0;
}
}
/// <summary>
///
/// </summary>
/// <param name="xdbHelper"></param>
protected void btnUploadImageSaveClick
(
DBHelper xdbHelper
)
{
string fileUrl = txt_File.Text.Trim();
if (fileUrl.Length == 0)
{
JSSlowXFunctions.Alert("请先上传文件。");
return;
}
SlowX.WebLib.Helpers.SlowXWebLibHelper
wh
=
SlowX.WebLib.Helpers.SlowXWebLibHelper.cInstance;
List<FileWdItem> fileList = wh.FileWdItemListConvertTo(fileUrl);
if (fileList == null || fileList.Count == 0)
{
JSSlowXFunctions.Alert("请先上传文件。");
return;
}
CodeDetailOrViewUrlParams
up = CurCodeDetailOrViewUrlParams;
if (up.ItemId == 0)
{
JSSlowXFunctions.Alert("ItemId == 0,请先保存主表。");
return;
}
bool bIsCreate = true;
if (xdbHelper == null)
{
xdbHelper
=
SlowX.DAL.Helpers.DBHelper.CreateDBHelper();
}
else
{
// 没有打开链接 //
bIsCreate = xdbHelper.IsNotOpen();
}
try
{
if (bIsCreate)
xdbHelper.OpenDBHelper();
SlowX.WebLib.Model.UTB_WEB_CODE_ITEM
modelItem
=
SlowX.WebLib.Business.UTB_WEB_CODE_ITEM.instance.GetBaseModelById(up.ItemId, xdbHelper)
as
SlowX.WebLib.Model.UTB_WEB_CODE_ITEM;
if (modelItem == null)
{
JSSlowXFunctions.Alert("没有获得主表");
return;
}
SlowX.WebLib.Business.UTB_WEB_IMG_ITEM
bll = SlowX.WebLib.Business.UTB_WEB_IMG_ITEM.instance;
SlowX.WebLib.Entity.UTB_WEB_IMG_ITEM
entity = new SlowX.WebLib.Entity.UTB_WEB_IMG_ITEM();
DateTime dtNow = bll.GetNow(xdbHelper);
ISaveDriver isave = entity;
FileWdItem
fdItem = null;
string newFileUrl = null;
string phyFullPath = Request.PhysicalApplicationPath;
string fileFullName = null;
SlowX.WebLib.Enums.ImageExt.EmImageExt
[]
emA = SlowX.WebLib.Enums.ImageExt.EmArray;
bool isContinue = false;
string strExtension = null;
int EmImageExtValue = 0;
string onlyName = "";
int iW = 0;
int iH = 0; FileInfo fi = null;
// 多文件保存 //
for (int i = 0; i < fileList.Count; i++)
{
fdItem = fileList[i];
if (fdItem == null)
continue;
fileFullName = fdItem.ToPhyFullName(phyFullPath);
fi = new FileInfo(fileFullName);
if (fi == null)
continue;
if (!fi.Exists)
continue;
strExtension = fi.Extension;
if (strExtension == null || strExtension.Length == 0)
continue;
strExtension = strExtension.Trim().ToLower();
isContinue = true;
foreach (SlowX.WebLib.Enums.ImageExt.EmImageExt em in emA)
{
if (strExtension == "." + em.ToString().ToLower())
{
onlyName = fi.Name.Substring(0, fi.Name.Length - strExtension.Length);
EmImageExtValue = (int)em;
isContinue = false;
break;
}
}
if (isContinue)
continue;
iW = GetImageW(fi.FullName);
iH = GetImageH(fi.FullName);
isave.ClearAllISaveItem();
isave.AddISaveItem(entity._TableItemGuid, modelItem.TheGuid);
isave.AddISaveItem(entity._TableItemId, modelItem.ID);
isave.AddISaveItem(entity._CreateTime, dtNow);
isave.AddISaveItem(entity._EmImageExtValue, EmImageExtValue);
isave.AddISaveItem(entity._Hits, 0);
isave.AddISaveItem(entity._HitTime, dtNow);
isave.AddISaveItem(entity._ID, bll.GetNewLongID(xdbHelper));
isave.AddISaveItem(entity._ImageUrl, fdItem.FileUrl);
isave.AddISaveItem(entity._ImgHeight, iH);
isave.AddISaveItem(entity._ImgWidth, iW);
isave.AddISaveItem(entity._SortId, ddl_SortId.SelectedValue);
isave.AddISaveItem(entity._TheDescription, "");
isave.AddISaveItem(entity._TheKeywords, onlyName);
isave.AddISaveItem(entity._TheName, onlyName);
isave.AddISaveItem(entity._UpdateTime, dtNow);
isave.AddISaveItemByBoolean(entity._IsShow, chk_IsShow.Checked);
bll.Insert(entity, xdbHelper);
}
if (bIsCreate)
xdbHelper.EndDBHelper();
}
catch (Exception err)
{
if (bIsCreate)
xdbHelper.TranDBHelper();
throw err;
}
finally
{
if (bIsCreate)
xdbHelper.FinallyDBHelper();
}
JSSlowXFunctions.AlertRedirect("保存成功", up.ToListUrl());
}
/// <summary>
/// 获得除去后缀后的仅文件名
/// </summary>
/// <param name="fileName"></param>
/// <returns></returns>
protected string FileOnlyNameGet(string fileName)
{
if (fileName == null || fileName.Length == 0)
return "";
int idxOne = fileName.LastIndexOf('/');
int idxTwo = fileName.LastIndexOf('\\');
if (idxOne != -1)
{
if (idxTwo > idxOne)
fileName = fileName.Substring(idxTwo + 1);
else
fileName = fileName.Substring(idxOne + 1);
}
else
{
if (idxTwo != -1)
fileName = fileName.Substring(idxTwo + 1);
}
int idx = fileName.LastIndexOf('.');
if (idx != -1)
fileName = fileName.Substring(0, idx);
return fileName;
}
#endregion 保存事件
-
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="BatchDetail.aspx.cs" Inherits="WebForms_AdminBlank_WebLib_Code_Item_Img_BatchDetail"
ValidateRequest="false" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>
<%=ShowPageTitle%></title>
<link href="<%=strPhyPath %>/css/blankadm.css?v=201701271" rel="stylesheet" media="all" />
<!-- 上传文档相关的样式 -->
<link href="<%=strPhyPath %>/JavaScripts/WebFileUpLoad/css/webuploader.css" rel="stylesheet"
type="text/css" />
<link href="<%=strPhyPath %>/JavaScripts/WebFileUpLoad/css/style.css" rel="stylesheet"
type="text/css" />
<!-- 上传文档相关的样式End -->
<style>
#wrapper
{
width: 980px;
margin: 0 auto;
margin: 1em;
width: auto;
height: 235px;
}
#container
{
border: 1px solid #dadada;
color: #838383;
font-size: 12px;
margin-top: 10px;
background-color: #FFF;
height: 235px;
}
#uploader .queueList
{
margin: 20px;
}
#uploader .placeholder
{
/*border: 3px dashed #e6e6e6;*/
min-height: 235px;
padding-top: 0px;
text-align: center; /*background: url(./image.png) center 83px no-repeat;*/
color: #cccccc;
font-size: 18px;
position: relative;
}
</style>
<!-- 上传文档相关方法 -->
<script language="javascript" type="text/javascript">
// 相对根目录 //
var GlobalPhyPath = "<%=strPhyPath %>";
</script>
<script src="<%=strPhyPath %>/JavaScripts/WebFileUpLoad/js/jquery.js" type="text/javascript"></script>
<script src="<%=strPhyPath %>/JavaScripts/WebFileUpLoad/js/webuploader.js" type="text/javascript"></script>
<script src="<%=strPhyPath %>/JavaScripts/WebFileUpLoad/js/upload.js" type="text/javascript"></script>
<!-- 上传文档相关方法END -->
<script language="javascript" type="text/javascript">
function ToFileNameList() {
var theResult = "";
var theA = fileNameList;
var iLen = theA.length;
var i = 0;
var rData = null;
for (i = 0; i < iLen; ++i) {
rData = theA[i];
if (rData == null)
continue;
theResult += rData.FileName + ":" + rData.FileUrl + "|";
}
return theResult;
}
var fileIsLoad = false;
function ToLoadFile() {
if (fileIsLoad)
return;
var f = ToFileNameList();
var vData = document.getElementById("<%=txt_File.ClientID %>").value;
// 考虑原先存储的文件情况 //
if (vData != null && vData != "") {
vData += "|" + f;
}
else {
vData = f;
}
document.getElementById("<%=txt_File.ClientID %>").value = vData;
fileIsLoad = true;
return false;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<table width="100%">
<tr>
<td colspan="2" width="400px">
<b>
<%=ShowPageTitle%></b>
<asp:Button ID="btn_Save" runat="server" Text="保存" OnClick="btn_Save_Click" OnClientClick="ToLoadFile();" />
</td>
<td colspan="2" align="right">
<asp:Button ID="btn_LoadFile" runat="server" Text="加载文件" OnClientClick="ToLoadFile(); return false;" />
<a href="<%=Request.RawUrl %>">刷新</a>
<asp:Button ID="btnt_Return" runat="server" Text="返回" OnClick="btnt_Return_Click" />
</td>
</tr>
<tr>
<td align="left" colspan="4">
<div id="container">
<!--头部,相册选择和格式选择-->
<div id="uploader">
<div class="queueList">
<div id="dndArea" class="placeholder">
<div id="filePicker">
</div>
<p style="margin-top: 80px;">
单次最多可选10个文件</p>
</div>
</div>
<div class="statusBar" hidden="hidden">
<div class="progress">
<span class="text">0%</span> <span class="percentage"></span>
</div>
<div class="info">
</div>
<div class="btns">
<div id="filePicker2">
</div>
<div class="uploadBtn">
开始上传</div>
</div>
</div>
</div>
</div>
<br /><br />
</td>
</tr>
<tr>
<td align="right" width="100px">
文件:
</td>
<td align="left" colspan="3">
<asp:TextBox ID="txt_File" TextMode="MultiLine" ReadOnly="false" Height="100px" runat="server" Width="98%">
</asp:TextBox>
</td>
</tr>
<tr>
<td align="right" width="100px">
类型:
</td>
<td align="left" colspan="3">
<asp:DropDownList ID="ddl_SortId" runat="server" Width="98%">
</asp:DropDownList>
</td>
</tr>
<tr>
<td align="right" width="100px">
是否显示:
</td>
<td align="left" colspan="3">
<asp:CheckBox ID="chk_IsShow" runat="server" Checked="true" />
</td>
</tr>
</table>
</form>
</body>
</html>