62,041
社区成员
发帖
与我相关
我的任务
分享
protected void btnUpdaload_Click(object sender, EventArgs e)
{
if (imageUpload.HasFile)
{
string extension = Path.GetExtension(imageUpload.FileName);
if (SafeTool.CheckAllowFile(extension))
{
string path = Server.MapPath("~/Images/FlashImages");
string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + extension;
imageUpload.PostedFile.SaveAs(path + "\\" + fileName);
Uri uri = Request.Url;
//注意,这里数据库里保存的是相对地址,显示给用户的是绝对URL,这样即使域名或者路径发生相对更改,也不会影响使用
//txtLinkUrl.Text = string.Format("{0}://{1}/download/{2}", uri.Scheme, uri.Authority, fileName);//显示给用户的地址
//hfPath.Value = string.Format("download/{0}", fileName);//数据库中保存的地址
txtImagePath.Text = string.Format("Images/FlashImages/{0}", fileName);
}
else
{
JScript.Alert("你上传的文件格式不符合要求!");
}
}
else
{
JScript.Alert("请选择一个文件上传!");
}
}
<tr>
<td style="WIDTH: 7%; text-align:right;">
Flash头条</td>
<td style="width:2%;"></td>
<td style="WIDTH: 85%;">
<asp:CheckBox ID="cbFLashNews" runat="server" Text="是" AutoPostBack="True" OnCheckedChanged="cbFLashNews_CheckedChanged" />
<asp:TextBox ID="txtImagePath" runat="server" Enabled="False"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvImagePath" runat="server" ControlToValidate="txtImagePath"
ErrorMessage="请上传图片" Enabled="False"></asp:RequiredFieldValidator>
<asp:FileUpload ID="imageUpload" runat="server" Enabled="False" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ErrorMessage="选择图片" ControlToValidate="imageUpload" ValidationGroup="upload"></asp:RequiredFieldValidator>
<asp:Button ID="btnUpdaload" runat="server" Text="上传图片" ValidationGroup="upload" Enabled="False" OnClick="btnUpdaload_Click" /></td>
</tr>
你既然能上传,就能捕捉到上传文件的名字.这样就可以显示在文本框中了.
要下载的话
if (File.Exists(文件的绝对路径!))
{
FileInfo fi = new FileInfo(destFileName);
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.Buffer = false;
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(Path.GetFileName(destFileName), System.Text.Encoding.UTF8));
HttpContext.Current.Response.AppendHeader("Content-Length", fi.Length.ToString());
HttpContext.Current.Response.ContentType = "application/octet-stream";
HttpContext.Current.Response.WriteFile(fileRootPath);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
//出现终止线程的错误,因此去掉Response.End()的方法,而用下面的方法
// HttpContext.Current.ApplicationInstance.CompleteRequest();
}
else
{
HttpContext.Current.Response.Write("<script langauge=javascript>alert('" + STS.Web.Common.Consts.CB_MSG_FOR_NOT_EXIST_FILE + "');history.go(-1);</script>");
HttpContext.Current.Response.End();
//出现终止线程的错误,因此去掉Response.End()的方法,而用下面的方法
//HttpContext.Current.ApplicationInstance.CompleteRequest();
}