關于FileUpload控件的二種用法,你都懂嗎?
判斷是上傳的是否是.JPG圖片
JS代碼
<script type="text/javascript">
function chkPhoto(fnUpload)
{
var filename = fnUpload.value;
var mime = filename.toLowerCase().substr(filename.lastIndexOf("."));
if (mime!=".jpg")
{
alert("請選擇JPG格式的圖片!");
fnUpload.outerHTML=fnUpload.outerHTML;
}
}
</script>
標簽代碼 注意 onchage事件
<asp:FileUpload ID="fnPhoto" runat="Server" onchage="chkPhoto(this)" />
為Image控件設定默認圖片 和出錯時的圖片
<asp:Image ID="Image1" runat="server" ImageUrl="~/image/HR201234170434507500.jpg" Width="180px" Height="200px" onerror="this.src='/webJPG/image/HR201234170434507500.jpg'"/>
關于上傳按鈕代碼
protected void Button1_Click(object sender, EventArgs e)
{
string ConStr = ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString;
string str = "HR"+DateTime.Now.ToString("yyyymmddhhmmssffff");
Response.Write(str);
string path = "~/image/" + str + ".jpg";
string sql = string.Format("insert into tb_image(image) values('{0}')", path);
SqlConnection scon = new SqlConnection(ConStr);
scon.Open();
SqlCommand cmd = new SqlCommand(sql, scon);
try
{
int i = cmd.ExecuteNonQuery();
if (i > 0)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), null, "alert('添加成功!')", true);
if (FileUpload1.FileName != "")
{
FileUpload1.SaveAs(Server.MapPath(path));
this.Image1.ImageUrl = path;
}
}
else
{
Page.ClientScript.RegisterStartupScript(this.GetType(), null, "alert('添加失敗!')", true);
}
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
先添加using System.IO;命名空間
protected void Button1_Click(object sender, EventArgs e) //方法一
{
//上傳文件到load下的upload文件夾
FileUpload1.SaveAs(Server.MapPath("load/upload"+"\\"+Path.GetFileName(FileUpload1.PostedFile.FileName)));
//獲取上傳文件的名稱
Response.Write(FileUpload1.PostedFile.FileName+"<br>");
//獲取上傳文件的類型
Response.Write(FileUpload1.PostedFile.ContentType+"<br>");
//獲取上傳文件的大小
Response.Write(FileUpload1.PostedFile.ContentLength);
string strpath=FileUpload1.PostedFile.FileName;
//獲取文件的擴展名
Response.Write(strpath.Substring(strpath.LastIndexOf(".") + 1));
}
protected void Button2_Click(object sender, EventArgs e) //方法二
{
HttpPostedFile pf = this.FileUpload1.PostedFile;
//獲取上傳文件的完整路徑
Response.Write("上傳文件路徑為::"+pf.FileName+"<br>");
//獲取上傳文件的類型
Response.Write("上傳文件的類型為:" + Path.GetExtension(pf.FileName)+"<br>");
//獲取上傳文件的大小
Response.Write(pf.ContentLength.ToString());
//上傳文件到load文件夾下的upload文件夾
pf.SaveAs(Server.MapPath("load/upload" + "\\" + Path.GetFileName(pf.FileName)));
}