通过HtmlInputFile控件上传文件的类
系统
1609 0
using
System;
using
System.Web.UI.HtmlControls;
using
System.IO;
namespace
Document.Bll
{
public
class
HtmlInputFileControl
{
HtmlInputFileControl
#region
HtmlInputFileControl
public
HtmlInputFileControl()
{
}
#endregion
IsAllowedExtension是否允许该扩展名上传
#region
IsAllowedExtension是否允许该扩展名上传
public
static
bool
IsAllowedExtension(HtmlInputFilehifile)
{
string
strOldFilePath
=
""
,strExtension
=
""
;
//
允许上传的扩展名,可以改成从配置文件中读出
string
[]arrExtension
=
{
"
.gif
"
,
"
.jpg
"
,
"
.jpeg
"
,
"
.bmp
"
,
"
.png
"
}
;
if
(hifile.PostedFile.FileName
!=
string
.Empty)
{
strOldFilePath
=
hifile.PostedFile.FileName;
//
取得上传文件的扩展名
strExtension
=
strOldFilePath.Substring(strOldFilePath.LastIndexOf(
"
.
"
));
//
判断该扩展名是否合法
for
(
int
i
=
0
;i
<
arrExtension.Length;i
++
)
{
if
(strExtension.Equals(arrExtension[i]))
{
return
true
;
}
}
}
return
false
;
}
#endregion
IsAllowedLength判断上传文件大小是否超过最大值
#region
IsAllowedLength判断上传文件大小是否超过最大值
public
static
bool
IsAllowedLength(HtmlInputFilehifile)
{
//
允许上传文件大小的最大值,可以保存在xml文件中,单位为KB
int
i
=
20
;
//
如果上传文件的大小超过最大值,返回flase,否则返回true.
if
(hifile.PostedFile.ContentLength
>
i
*
1024
)
{
return
false
;
}
return
true
;
}
#endregion
SaveFile上传文件并返回文件名
#region
SaveFile上传文件并返回文件名
public
static
string
SaveFile(HtmlInputFilehifile,
string
strAbsolutePath)
{
string
strOldFilePath
=
""
,strExtension
=
""
,strNewFileName
=
""
;
if
(hifile.PostedFile.FileName
!=
string
.Empty)
{
strOldFilePath
=
hifile.PostedFile.FileName;
//
取得上传文件的扩展名
strExtension
=
strOldFilePath.Substring(strOldFilePath.LastIndexOf(
"
.
"
));
//
文件上传
后的命名
strNewFileName
=
GetUniqueString()
+
strExtension;
if
(strAbsolutePath.LastIndexOf(
"
\\
"
)
==
strAbsolutePath.Length)
{
hifile.PostedFile.SaveAs(strAbsolutePath
+
strNewFileName);
}
else
{
hifile.PostedFile.SaveAs(strAbsolutePath
+
"
\\
"
+
strNewFileName);
}
}
return
strNewFileName;
}
#endregion
CoverFile重新上传文件,删除原有文件
#region
CoverFile重新上传文件,删除原有文件
public
static
void
CoverFile(HtmlInputFileffFile,
string
strAbsolutePath,
string
strOldFileName)
{
//
获得新文件名
string
strNewFileName
=
GetUniqueString();
if
(ffFile.PostedFile.FileName
!=
string
.Empty)
{
//
旧图片不为空时先删除旧图片
if
(strOldFileName
!=
string
.Empty)
{
DeleteFile(strAbsolutePath,strOldFileName);
}
SaveFile(ffFile,strAbsolutePath);
}
}
#endregion
DeleteFile删除指定文件
#region
DeleteFile删除指定文件
public
static
void
DeleteFile(
string
strAbsolutePath,
string
strFileName)
{
if
(strAbsolutePath.LastIndexOf(
"
\\
"
)
==
strAbsolutePath.Length)
{
if
(File.Exists(strAbsolutePath
+
strFileName))
{
File.Delete(strAbsolutePath
+
strFileName);
}
}
else
{
if
(File.Exists(strAbsolutePath
+
"
\\
"
+
strFileName))
{
File.Delete(strAbsolutePath
+
"
\\
"
+
strFileName);
}
}
}
#endregion
GetUniqueString获取一个不重复的文件名
#region
GetUniqueString获取一个不重复的文件名
public
static
string
GetUniqueString()
{
return
DateTime.Now.ToString(
"
yyyyMMddhhmmss
"
);
}
#endregion
}
}
通过HtmlInputFile控件上传文件的类
更多文章、技术交流、商务合作、联系博主
微信扫码或搜索:z360901061
微信扫一扫加我为好友
QQ号联系: 360901061
您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。
【本文对您有帮助就好】元