• .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>
  • 相关阅读:
    【bzoj4318】OSU!
    【bzoj2134】单选错位
    【UVa11584】划分成回文串
    Load a map with proxy
    2012南大GIS专业课试题
    引用webmap时如何填写username 和 password
    使用Visifire+ArcGIS API for Silverlight实现Graphic信息的动态图表显示
    填空题
    专业课知识
    Add a web map dynamically
  • 原文地址:https://www.cnblogs.com/CoderWayne/p/4485691.html
Copyright © 2020-2023  润新知