• asp.net上传图片并同时生成缩略图


    <%@ Page Language="C#" ResponseEncoding="gb2312" %>

    <%@ Import Namespace="System" %>
    <%@ Import Namespace="System.IO" %>
    <%@ Import Namespace="System.Drawing" %>
    <%@ Import Namespace="System.Drawing.Imaging" %>

    <script runat="server">
     

        void Page_Load(Object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                ImgPreview.Visible = false;
            }
        }
        void GetThumbnailImage(int width, int height, string strInfo, int left, int right)
        {
            string file = "Uploads/" + uploadFile.PostedFile.FileName.Substring(uploadFile.PostedFile.FileName.LastIndexOf('\\') + 1);
            string newfile = "Uploads/" + uploadFile.PostedFile.FileName.Substring(uploadFile.PostedFile.FileName.LastIndexOf('\\') + 1) + ".jpg";
            string strAdd = strInfo;
            System.Drawing.Image oldimage = System.Drawing.Image.FromFile(Server.MapPath(file));
            System.Drawing.Image thumbnailImage =
            oldimage.GetThumbnailImage(width, height, new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback), IntPtr.Zero);
            Response.Clear();
            Bitmap output = new Bitmap(thumbnailImage);
            Graphics g = Graphics.FromImage(output);
            g.DrawString(strAdd, new Font("Courier New", 14), new SolidBrush(Color.Red), left, right);
            output.Save(Server.MapPath(newfile), System.Drawing.Imaging.ImageFormat.Jpeg);
            Response.ContentType = "image/gif";
            ImgPreview.Visible = true;
            ImgPreview.ImageUrl = newfile;
        }
        bool ThumbnailCallback()
        {
            return true;
        }

        void Button_Click(object sender, EventArgs e)
        {
            int width, height, left, right;
            string strAddInfo = txtAddInfo.Text;
            width = Int32.Parse(txtWidth.Text);
            height = Int32.Parse(txtHeight.Text);
            left = Int32.Parse(txtLeft.Text);
            right = Int32.Parse(txtRight.Text);
            if (!(uploadFile.PostedFile.ContentLength > 0))
            {
                lblErrInfo.Text = "没有选择文件";
            }
            else
            {

                string path = Server.MapPath("./Uploads/" + uploadFile.PostedFile.FileName.Substring(uploadFile.PostedFile.FileName.LastIndexOf('\\') + 1));
                if (File.Exists(path))
                {
                    lblErrInfo.Text = "已经有同名文件";
                }
                else
                {
                    uploadFile.PostedFile.SaveAs(path);
                    GetThumbnailImage(width, height, strAddInfo, left, right);
                }
            }
        }
    </script>

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
        <title>上传图片并生成缩略图</title>
    </head>
    <body>
        <form id="Form1" method="post" enctype="multipart/form-data" runat="server">
            <p>
                <input id="uploadFile" type="file" runat="server" />
                <asp:Label ID="lblErrInfo" runat="server" ForeColor="Red"></asp:Label>
            </p>
            <p>
                <asp:TextBox ID="txtWidth" runat="server" Width="40px">100</asp:TextBox>
                height:<asp:TextBox ID="txtHeight" runat="server" Width="40px">150</asp:TextBox>
            </p>
            <p>
                添加信息:<asp:TextBox ID="txtAddInfo" runat="server"> AspxBoy.Com</asp:TextBox>
            </p>
            <p>
                信息位置:left:<asp:TextBox ID="txtLeft" runat="server" Width="40px">10</asp:TextBox>
                right:<asp:TextBox ID="txtRight" runat="server" Width="40px">135</asp:TextBox>
            </p>
            <p>
                <input id="button" type="button" value="上传生成所略图" onserverclick="Button_Click" runat="server" />
            </p>
            <p>
                <asp:Image ID="ImgPreview" runat="server"></asp:Image>
            </p>
            <!-- Insert content here -->
        </form>
    </body>
    </html>

  • 相关阅读:
    Java 将File转换为MultipartFile类型
    JAVA中实现根据文件路径下载文件
    Java中类似单元格之间的计算公式解析,如A1+B3-B4
    Java JPA通过hql语句查询数据
    mysql与oracle 表字段定义比较
    Java时间日期DateUtil
    fetch缓存问题
    Vue中watch的简单应用
    关于跨域和如何解决跨域问题的小结
    Google play 一直等待下载?解决方案如此简单!
  • 原文地址:https://www.cnblogs.com/gisoracle/p/1674263.html
Copyright © 2020-2023  润新知