使用ASP.NET上传图片汇总(三)
来源:互联网 发布:mysql查询结果中文乱码 编辑:程序博客网 时间:2024/06/05 00:46
6 产生不重复文件名及自动生成路径
- <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" >
- <head id="Head1" runat="server">
- <title>上传图片</title>
- </head>
- <body>
- <form id="form1" runat="server">
- <div>
- <table>
- <tr>
- <td colspan="2">
- </td>
- </tr>
- <tr>
- <td style="width: 444px">
- <asp:FileUpload ID="FileUpload1" runat="server" Width="432px" /></td>
- <td style="width: 80px">
- <asp:Button ID="bt_upload" runat="server" Text="上传" OnClick="bt_upload_Click" Width="72px" /></td>
- </tr>
- <tr>
- <td colspan="2" style="height: 21px">
- <asp:Label ID="lb_info" runat="server" ForeColor="Red" Width="515px"></asp:Label></td>
- </tr>
- </table>
- </div>
- </form>
- </body>
- </html>
后台代码:
- using System;
- using System.Data;
- using System.Configuration;
- using System.Web;
- using System.Web.Security;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Web.UI.WebControls.WebParts;
- using System.Web.UI.HtmlControls;
- public partial class _Default : System.Web.UI.Page
- {
- protected void Page_Load(object sender, EventArgs e)
- {
- }
- protected void bt_upload_Click(object sender, EventArgs e)
- {
- upLoad();
- }
- protected void upLoad()
- {
- //定义了用于保存Session会话中的数据,定义了获取文件名和文件的扩展名
- //string ShowSellerName;
- string FileName, FileLastName;//文件名,文件的扩展名
- try
- {
- FileName = FileUpload1.FileName;//获取文件名
- FileLastName = FileName.Substring(FileName.LastIndexOf(".") + 1);//得到文件的扩展名
- //ShowSellerName = System.Web.HttpContext.Current.Session["SellerName"].ToString().Trim();
- Random R = new Random();//创建产生随机数
- int val = 10 + R.Next(99);//产生随机数为99以内任意
- string sc = val.ToString();//产生随机数
- string FileTime = DateTime.Now.ToString("yyyyMMddHHmmss") + sc;//得到系统时间(格式化)并加上随机数以便生成上传图片名称
- string UploadFileName = FileTime +"." + FileLastName;//产生上传图片的名称
- string UD = "ShowSellerName";//创建用户的文件夹的名字
- string path = System.Web.HttpContext.Current.Server.MapPath("ProductsImages").ToString() +"//" + UD + "//";
- if (!System.IO.Directory.Exists(path))//如果文件夹不存在则创建.确定给定路径是否引用磁盘上的现有目录, 如果 path 引用现有目录,则为 true;否则为 false。
- {
- try
- {
- System.IO.Directory.CreateDirectory(path);//创建文件夹与用户名同名
- if (FileUpload1.HasFile)
- {
- FileUpload1.PostedFile.SaveAs(path + UploadFileName);//上传图片(名称自定义)
- string User_ProductsInageUrl ="ProductsImages/" + UD + "/" + UploadFileName;//保存获得的图片虚拟路径进行跨页面间的传递
- }
- else
- {
- System.Web.HttpContext.Current.Response.Redirect("~/Tips/Error.aspx");//显示出错信息
- }
- }
- catch
- {
- System.Web.HttpContext.Current.Response.Redirect("~/Tips/Error.aspx");//显示出错信息
- }
- }
- else
- {
- if (FileUpload1.HasFile)//判断FileUpload组件是否存在内容
- {
- FileUpload1.PostedFile.SaveAs(path + UploadFileName);//上传图片(自定义)
- string User_ProductsImageUrl ="ProductsImages/" + UD + "/" + UploadFileName;//得到服务端图片的虚拟路径
- System.Web.HttpContext.Current.Session["ImageUrl"] = User_ProductsImageUrl;//保存获得的图片虚拟路径进行跨页面间的传递
- }
- else
- {
- System.Web.HttpContext.Current.Response.Redirect("~/Tips/Error.aspx");//显示出错信息
- }
- }
- }
- catch
- {
- System.Web.HttpContext.Current.Response.Redirect("~/Tips/Error.aspx");//显示出错信息
- }
- }
- }
- 使用ASP.NET上传图片汇总(三)
- 使用ASP.NET上传图片汇总(三)
- 使用ASP.NET上传图片汇总(一)
- 使用ASP.NET上传图片汇总(二)
- 使用ASP.NET上传图片汇总
- 使用ASP.NET上传图片汇总
- 使用ASP.NET上传图片汇总(一)
- 使用ASP.NET上传图片汇总(二)
- 使用ASP.NET上传图片汇总
- 使用ASP.NET上传图片汇总
- 使用ASP.NET上传图片汇总
- 使用ASP.NET上传图片汇总
- 使用ASP.NET上传图片汇总1
- 使用ASP.NET上传图片汇总2
- 使用ASP.NET上传图片汇总
- 使用ASP.NET上传图片汇总
- 使用ASP.NET上传图片汇总
- 使用ASP.NET上传图片汇总
- FLEX快捷键
- 使用ASP.NET上传图片汇总(二)
- 计算剩余时间的方法
- ASP.NET跳转页面的三种方法比较
- Javascript中文乱码问题
- 使用ASP.NET上传图片汇总(三)
- 初试数据库--eclipse连接数据库mysql,非常简单的入门!
- ToString()、Convert.ToString()、(string)、as string 的区别
- JAVA泛型深入分析
- Convert、Parse、TryParse、(int) 的区别
- 数据库优化方法(三)
- javaScript 图片循环切换
- TCP/IP、Http、Socket的区别
- 结合DataGrid控件ASP.NET上传并读取Excel文件数据