{
string ServiceUrl = “”;
//设定上传文件的保存路径为doc文件夹,请更正为服务器的IP
string strSaveDir = Server.MapPath(“../”) + “/doc/”;
//对应Oracle中的PhysicalPath
string PhysicalPath = “doc”;
//取得用户端上完整的档案名称
string strName = inputFile.PostedFile.FileName;
//取得文件名(抱括路径)里最后一个”.”的索引 .doc .txt等后缀前的那个“.”
int intExt = strName.LastIndexOf(“.”);
//取得文件后缀名(扩展名)
string strExt = strName.Substring(intExt);
//根据日期和文件大小不同为文件命名,确保文件名不重复
DateTime datNow = DateTime.Now;
string strNewName1 = datNow.DayOfYear.ToString() + inputFile.PostedFile.ContentLength.ToString();// +strExt;
//取得文件名(包括路径)里最后一个”\”的索引
int intPath = strName.LastIndexOf(“\\”);
//取得文件名(不包括路径)
string strNewName = “\\” + strNewName1 + strName.Substring(intPath + 1);
//对应Oracle中的FileName
string FileName = strNewName1 + strName.Substring(intPath + 1);
//Server.MapPath()
inputFile.PostedFile.SaveAs(strSaveDir + strNewName);
ServiceUrl = strSaveDir + strNewName;
ChkAttachmentID = myCreateFactory.UploadAttachment(AttachmentID, FileName, PhysicalPath, NoticeID, txtAttachmentDes.Text.Trim(), User.Identity.Name.ToString());
if (ChkAttachmentID == 1)
{
labBulletin.Text = “Upload announcement success”;
labAttachment.Text = “Upload Annex success”;
//Response.Write(““);
}
else
{
labAttachment.Text = “”;
labBulletin.Text = “Upload announcement success”;
}
}
}
———————————————————————————————————————————————-
以下为实例:
选择地址: | |
文件大小: | |
服务器相对路径: | |
文件名: | |
扩展名: | |
图片: | |
CS代码
private bool CheckUploadFile()
{
if (UploadImage.Value.Equals(“”) || String.Equals(null, UploadImage.Value))
{
Response.Write(““);
return false;
}
else if (UploadImage.PostedFile == null)
{
Response.Write(““);
return false;
}
else
{
String path = UploadImage.PostedFile.FileName.ToLower();
bool istype = false;
String[] type = { “jpg”, “png”, “jpeg”, “gif” };//可设置多种文件类型
for (int i = 0; i < type.Length; i++)
{
if (path.Substring(path.LastIndexOf(“.”) + 1).Equals(type[i]))
{
istype = true;
}
}
if (!istype)
{
Response.Write(““);
return false;
}
if (UploadImage.PostedFile.ContentLength > 800 * 1024)
{
Response.Write(““);
return false;
}
return true;
}
}
protected void btnUpload_Click(object sender, EventArgs e)
{
if (CheckUploadFile())//判断文件是否存在及大小限制
{
String path = UploadImage.Value.ToLower();//本地文件路径
String filename = path.Substring(path.LastIndexOf(“\\”) + 1);
filename = “/” + DateTime.Now.ToString(“yyyyMMddHHmmssfff”) + ((new Random()).Next(1000, 9999)).ToString() + filename.Substring(filename.LastIndexOf('.'));//组合文件名
string TimePath = Server.MapPath(“UpLoad”).ToString() + “\\”;//获取上传路径的物理地址
if (!Directory.Exists(TimePath))//判断文件夹是否存在
{
Directory.CreateDirectory(TimePath);//不存在则创建文件夹
}
UploadImage.PostedFile.SaveAs(TimePath + filename);//上载至服务器
lblFile.Text = Math.Round(Convert.ToDecimal(UploadImage.PostedFile.ContentLength) / 1024,2) + “kb”;//显示上传文件大小
lblFileName.Text = filename.Substring(filename.LastIndexOf(“/”) + 1);//文件名
lblFilePath.Text = “UpLoad” + filename;//服务器相对路径
lblLastName.Text = filename.Substring(filename.LastIndexOf(“.”) + 1);//文件扩展名
img.ImageUrl = “UpLoad” + filename;//显示图片
}
}
如需上传大文件需要在web.config中添加(由于使用”<,>“会被HTML解析掉,以下采用全角字符)
<system.web>
<httpRuntime maxRequestLength=”2097151″ executionTimeout=”300″/>
</system.web>
maxRequestLength //文件字节大小
executionTimeout //超时时间