.net上传,一个选择直接上传(ashx)和byteArray上传
<%@ WebHandler Language="C#" Class="UploadImage" %> using System; using System.Web; public class UploadImage : IHttpHandler { //文件上传目录 private string uploadFolder = "UploadImage"; public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; HttpFileCollection files = context.Request.Files; if (files.Count > 0) { string path = context.Server.MapPath(uploadFolder); HttpPostedFile file = files[0]; if (file != null && file.ContentLength > 0) { string fileName = DateTime.Now.ToString("yyyyMMddhhmmss") + context.Request.Form["fileName"]; string savePath = path + "/" + fileName; file.SaveAs(savePath); System.Web.HttpResponse obj = context.Response; obj.Write(fileName); } } else { context.Response.Write("参数错误"); context.Response.End(); } } public bool IsReusable { get { return false; } } }
<%@ Page Language="C#" ContentType="text/html" ResponseEncoding="gb2312" Debug="true"%> <%@ Import Namespace="System.IO" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>上传</title> </head> <body> <script language="c#" runat="server"> public void Page_Load(Object sender,EventArgs e) { if (true) { string saveToFolder = "file"; string Path = Server.MapPath(saveToFolder); //通过Resquest.InputStream解收的是Stream形式,转换成byte[]形式 Stream s = Request.InputStream; byte[] bt = StreamToBytes(s); //将byte[]形式转换成MemoryStream形式,再保存为图片 System.IO.MemoryStream ms = new System.IO.MemoryStream(bt); System.Drawing.Bitmap b = new System.Drawing.Bitmap(ms); b.Save(Path + "/proj.jpg"); Response.Write(true); Response.End(); } } //此函数将Stream转换成byte[] public byte[] StreamToBytes(Stream stream) { byte[] bytes = new byte[stream.Length]; stream.Read(bytes, 0, bytes.Length); // 设置当前流的位置为流的开始 stream.Seek(0, SeekOrigin.Begin); return bytes; } </script> </body> </html>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
2008-10-31 正则简单检测字符有效性