Input控件上传文件

<%@ 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>
    <title></title>
</head>
<body>
<form action="exec/Upload.ashx" enctype="multipart/form-data" method="post">
    <input name="file" type="file" />
    <input type="submit" value="提交" />
</form>
</body>
</html>

aspx页面

 

<%@ WebHandler Language="C#" Class="Upload" %>
 
using System;
using System.Web;
public class Upload : IHttpHandler {
     
    public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "text/plain";
        HttpFileCollection imgs = context.Request.Files;
        if (imgs.Count>0)
        {
            for (int i = 0; i < imgs.Count; i++)
            {
                if (imgs[i].ContentLength!=0)
                {
                    string oldName=imgs[i].FileName.ToString();
                    string imgName = Guid.NewGuid().ToString();
                    string imgType = oldName.ToString().Substring(oldName.LastIndexOf("."));
                    string imgPath = "~/upload/" + imgName + imgType;
                    imgs[i].SaveAs(context.Server.MapPath(imgPath));
                }
            }
        }
    }
  
    public bool IsReusable {
        get {
            return false;
        }
    }
 
}

 

一般处理程序

 

点击下载源代码

posted @   巫鸦  阅读(592)  评论(2编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示