通過HtmlInputFile控件上傳文件的類
系統
1639 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元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元