文件上传的相关方法
来源:互联网 发布:国家重大新药创制 知乎 编辑:程序博客网 时间:2024/05/17 23:50
#region 上传文件的类型枚举,方法名:FileType
protected enum FileType
{
jpg, gif, bmp, png, swf, txt, doc, xsl, ppt
}
#endregion
#region 取得文件扩展名,方法名:GetFileExtends(string FileName)
/// <summary>
/// 取得文件扩展名
/// </summary>
/// <param name="FileName">文件名(包括扩展名,但不包括路径)</param>
/// <returns></returns>
protected static string GetFileExtends(string FileName)
{
string Extends = null;
if (FileName.IndexOf('.') > 0)
{
string[] FileNames = FileName.Split('.');
Extends = FileNames[FileNames.Length - 1].ToString();
}
return Extends;
}
#endregion
#region 检查上传文件的合法性,方法名:CheckFileExtends()
/// <summary>
/// 检查上传文件的合法性
/// </summary>
/// <param name="FileExtends">要检查的文件扩展名</param>
/// <returns></returns>
protected static bool CheckFileExtends(string FileExtends)
{
bool status = false;
FileExtends = FileExtends.ToLower();
string[] FileExtendses = Enum.GetNames(typeof(FileType));
for (int i = 0; i < FileExtendses.Length; i++)
{
if (FileExtendses[i].ToLower() == FileExtends)
{
status = true;
break;
}
}
return status;
}
#endregion
#region 上传附件,方法名:PictureUpload(string asPicturePath, FileUpload asFileUpload, string asFileExtends)
/// <summary>
/// 上传附件
/// </summary>
/// <param name="asPicturePath">需要上传到的服务器路径</param>
/// <param name="asFileUpload">上传控件</param>
/// <param name="asFileExtends">附件的扩展名</param>
/// <returns></returns>
protected int PictureUpload(string asPicturePath, FileUpload asFileUpload, string asFileExtends)
{
int fhz = 0;
if (CheckFileExtends(asFileExtends))
{
try
{
asFileUpload.SaveAs(asPicturePath);
fhz = 1;
}
catch
{
fhz = 0;
}
}
else
{
return fhz = 0;
}
return fhz;
}
#endregion
#region 返回文件全名,方法名:dGetFileName(FileUpload asFileUpload)
public string dGetFileName(FileUpload asFileUpload)
{
string FilePath = asFileUpload.PostedFile.FileName.ToString();
string FileExtends = null;
string BigPictureName = null;
if (FilePath != "")
{
FileInfo myFileInfo = new FileInfo(FilePath);
string PictureName = myFileInfo.Name.ToString();
if (PictureName != null)
{
FileExtends = GetFileExtends(PictureName);
BigPictureName = System.DateTime.Now.DayOfYear.ToString() + asFileUpload.PostedFile.ContentLength.ToString() + "." + FileExtends.ToString();
}
else
{
BigPictureName = "";
}
}
return BigPictureName;
}
#endregion
#region 保存上传文件,方法名:dUploadSave(string asFilePath, FileUpload asFileUpload)
/// <summary>
/// 保存上传文件
/// </summary>
/// <param name="asFilePath">需要上传到的服务器路径</param>
/// <param name="asFileUpload">上传控件</param>
/// <returns></returns>
public int dUploadSave(string asFilePath, FileUpload asFileUpload)
{
//int Fhz;
//string FilePath = asFileUpload.PostedFile.FileName.ToString();
//FileInfo myFileInfo = new FileInfo(FilePath);
//string PictureName = myFileInfo.Name.ToString();
//string FileExtends = null;
//if (PictureName != null)
//{
// FileExtends = GetFileExtends(PictureName);
// string BigPictureName = System.DateTime.Now.DayOfYear.ToString() + asFileUpload.PostedFile.ContentLength.ToString() + "." + FileExtends.ToString();
// string SmallPictureName = "S_" + BigPictureName.ToString();
// string BigPicturePath = asFilePath + BigPictureName.ToString();
// string SmallPicturePath = asFilePath + SmallPictureName.ToString();
// Fhz = PictureUpload(BigPicturePath, asFileUpload, FileExtends);
//}
//else
//{
// Fhz = 0;
//}
//return Fhz;
int Fhz = 0;
string StringAnswer = dGetFileName(asFileUpload);
if (StringAnswer != null)
{
string BigPictureName = StringAnswer.Substring(0, StringAnswer.LastIndexOf(".")).ToString();
string FileExtends = StringAnswer.Substring(StringAnswer.LastIndexOf(".") + 1).ToString();
if (StringAnswer != "")
{
string BigPicturePath = asFilePath + StringAnswer.ToString();
Fhz = PictureUpload(BigPicturePath, asFileUpload, FileExtends);
}
}
return Fhz;
}
#endregion
--摘自互联网经修改
- 文件上传的相关方法
- 文件上传漏洞的相关绕过方法
- Hipi 文件操作的相关方法(上传图片部分)
- Yii文件(图片)上传时相关的方法
- Yii文件(图片)上传时相关的方法
- 文件上传的方法
- 文件上传的方法
- 文件上传 的方法
- 上传文件的方法
- 上传文件的方法
- springmvc 文件上传,图片上传的方法
- JQ处理文件上传的相关资料
- javascript对上传文件的相关操作
- js获取上传文件的相关属性
- 大文件上传的方法
- fileUpload上传文件的方法
- 简单的上传文件方法
- vs2008 上传文件的方法
- _OMX_MasterInit(OMXMasterCoreGlobalData *data)
- OutputCache各参数的说明
- 星号字符串前移
- 数据库的索引
- 总感觉CSDN少了苹果开发这一块
- 文件上传的相关方法
- VC++ Tab Control控件的使用
- 一次关于2440屏驱动的精彩讨论
- 制造业大学生,你将被谁抛弃?——摘至天涯论坛
- Cabal, Darcs, GHC, HP安装
- 远程连接mysql速度慢的解决方法
- 【转】全球手机芯片产业格局未定,LTE和中国是最大变数
- 从指定邮箱发送电子邮件
- 什么是创新?