实验室/FileUpLoad.aspx.cs

(开头部分) 3KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;        //文件读写命名空间

public partial class FileUpLoad : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    /// <summary>
    /// 文件上传
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnUpLoad_Click(object sender, EventArgs e)
    {
        //1.判断用户是否选择了文件
        if (!fulFile.HasFile)
        {
            this.ClientScript.RegisterStartupScript(this.GetType(), "1", "<script type='text/javascript'>alert('请选择文件')</script>");
            return;
        }
        //2.获取用户上传文件的客户端文件名
        string clientFileName = fulFile.FileName;
        //3.获取文件的后缀名,并对上传文件的类型进行验证(即用户上传的文件类型是否是要求的文件类型)
        string fileExt = clientFileName.Substring(clientFileName.LastIndexOf('.'));
        if (fileExt != ".jpg" && fileExt != ".png")  //这里要求用户上传格式为jpg和png的图片
        {
            this.ClientScript.RegisterStartupScript(this.GetType(), "2", "<script type='text/javascript'>alert('文件类型错误')</script>");
            return;
        }
        //4.设置上传文件的大小
        byte[] b = fulFile.FileBytes;  //这里获得的文件大小是以字节(b)为单位的
        double fileSize = b.Length / 1024.0;  //得到KB
        if (fileSize > 2048)      //只能上传不大于2M的文件
        {
            this.ClientScript.RegisterStartupScript(this.GetType(), "3", "<script type='text/javascript'>alert('文件大小超出范围')</script>");
            return;
        }
        //5.设置文件保存到服务器端的路径
        //这里我们将文件保存到程序主文件同级目录下的UsersFile文件夹中
        //所以我们需要将Web服务器上的虚拟路径(相对路径)转为相对应的物理文件路径(绝对路径)
        string serverFilePath = Server.MapPath("~/UsersFile/");  //这里的~符号表示网站的根目录
        //6.为文件取一个服务器端的名字,这里有两种实现方法
        //1)第一种,使用文件上传的时间来作为文件名
        //string serverFileName = DateTime.Now.ToString("yyyyMMddHHmmss");
        //2)第二种,使用全局唯一标示符(GUID)来命名,每次生成的字符串都不一样,所以文件名不会重复
        string serverFileName = Guid.NewGuid().ToString();
        //7.拼接文件保存的路径,并将文件保存到服务器端
        string serverFileSavePath = serverFilePath + serverFileName + fileExt; //路径+文件名+后缀
        fulFile.SaveAs(serverFileSavePath);
        //8.判断文件是否上传成功,通过文件是否存在来判断  (这里需要引用文件读写命名空间)
        if (File.Exists(serverFileSavePath))
        {
后面还有 10 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。