zoukankan      html  css  js  c++  java
  • asp.net多图片上传实现程序代码

    前台代码如下:

    <% @ Page Language="C#" CodeFile="UploadImg.aspx.cs" Inherits="NetAdmin_APicture_UploadImg" %>
    <!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 runat="server">
    <title>无标题页</title>
    <script type="text/javascript">
    var i=1
    function addFile()
    {
    if (i<8)
    {var str = '<BR> <input type="file" name="File" runat="server" style=" 300px"/>描述:<input name="text" type="text" style=" 150px" maxlength="20" />'
    document.getElementById('MyFile').insertAdjacentHTML("beforeEnd",str)
    }
    else
    {
    alert("您一次最多只能上传8张图片!")
    }
    i++
    }
    </script>
    <link href="http://www.hzhuti.com/" rel="stylesheet" type="text/css" />
    </head>
    <body style="background-image: url(../images/bg.jpg); text-align: center">
    <form id="form1" runat="server">
    <div>
    <table id="Table1" align="center" border="0" cellpadding="1" cellspacing="1" class="table"
    style="height: 58px" width="620">
    <tr>
    <td align="center" background="../images/topbg1.jpg">
    <font color="#0000ff" face="宋体" size="3"><strong>上传图片</strong></font></td>
    </tr>
    <tr>
    <td align="center">
    </td>
    </tr>
    <tr>
    <td align="center">
    <asp:Panel ID="Panel5" runat="server" Width="608px">
    <table width="100%">
    <tr>
    <td align="right" style=" 100px">
    </td>
    <td align="left">
    说明:点增加图片按钮可一次上传多张图片,可为每张图片写上一句不超过20个字的描述.单张图片大小不大于1024k</td>
    </tr>
    <tr>
    <td align="right" style=" 100px">
    请选择图片:<br />
    </td>
    <td align="left"><P id="MyFile"><INPUT onclick="addFile()" type="button" value="增加图片(Add)"><br />
    <input type="file" name="File" runat="server" style=" 300px"/>
    描述:<input name="text" type="text" style=" 150px" maxlength="20" />
    </td>
    </tr>
    <tr>
    <td align="right" style=" 100px">
    上传到的图库:</td>
    <td align="left">
    <asp:DropDownList ID="ddlAlbum" runat="server" DataSourceID="SqlDataSource1"
    DataTextField="AlbumName" DataValueField="AlbumID">
    </asp:DropDownList><asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:WebJakeCS %>"
    SelectCommand="SELECT [AlbumID], [AlbumName] FROM [WB_Album] ORDER BY [AlbumID] DESC">
    </asp:SqlDataSource>
    </td>
    </tr>
    <tr>
    <td align="right" style=" 100px">
    </td>
    <td align="left">
    <asp:Button ID="btnUpload" runat="server" Text="开始上传" OnClick="btnUpload_Click" />
    </td>
    </tr>
    <tr>
    <td align="right" style=" 100px">
    </td>
    <td align="left">
    <asp:Label ID="lblMessage" runat="server" Font-Bold="True" ForeColor="Red"></asp:Label></td>
    </tr>
    </table>
    </asp:Panel>
    </td>
    </tr>
    <tr>
    <td align="center">
    <font face="宋体"></font><font face="宋体"> </font>
    </td>
    </tr>
    <tr>
    <td align="center">
    <font face="宋体"></font>
    </td>
    </tr>
    </table>
    </div>
    </form>
    </body>
    </html>
    

      后台代码如下:

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.IO;
    public partial class NetAdmin_APicture_UploadImg : System.Web.UI.Page
    ...{
    protected void Page_Load(object sender, EventArgs e)
    ...{
    }
    protected void btnUpload_Click(object sender, EventArgs e)
    ...{
    lblMessage.Text = "";
    lblMessage.Visible = false;
    System.Web.HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;
    System.Text.StringBuilder strmsg = new System.Text.StringBuilder("");
    string[] rd = Request.Form[1].Split(',');//获得图片描述的文本框字符串数组,为对应的图片的描述
    string albumid=ddlAlbum.SelectedValue.Trim();
    int ifile;
    for (ifile = 0; ifile < files.Count; ifile++)
    ...{
    if (files[ifile].FileName.Length > 0)
    ...{
    System.Web.HttpPostedFile postedfile = files[ifile];
    if (postedfile.ContentLength / 1024 > 1024)//单个文件不能大于1024k
    ...{
    strmsg.Append(Path.GetFileName(postedfile.FileName) + "---不能大于1024k<br>");
    break;
    }
    string fex = Path.GetExtension(postedfile.FileName);
    if (fex != ".jpg" && fex != ".JPG" && fex != ".gif" && fex != ".GIF")
    ...{
    strmsg.Append(Path.GetFileName(postedfile.FileName) + "---图片格式不对,只能是jpg或gif<br>");
    break;
    }
    }
    }
    if (strmsg.Length <= 0)//说明图片大小和格式都没问题
    ...{
    //以下为创建图库目录
    string dirname = "pic00" + ddlAlbum.SelectedValue.Trim();
    string dirpath = Server.MapPath("http://www.iiwnet.com/php");
    dirpath = dirpath + "" + dirname;
    if (Directory.Exists(dirpath) == false)
    ...{
    Directory.CreateDirectory(dirpath);
    }
    Random ro = new Random();
    int name = 1;
    for (int i = 0; i < files.Count; i++)
    ...{
    System.Web.HttpPostedFile myFile = files[i];
    string FileName = "";
    string FileExtention = "";
    string PicPath = "";
    FileName = System.IO.Path.GetFileName(myFile.FileName);
    string stro=ro.Next(100,100000000).ToString()+name.ToString();//产生一个随机数用于新命名的图片
    string NewName =DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString()+DateTime.Now.Millisecond.ToString()+stro;
    if (FileName.Length > 0)//有文件才执行上传操作再保存到数据库
    ...{
    FileExtention = System.IO.Path.GetExtension(myFile.FileName);
    string ppath = dirpath + "" + NewName + FileExtention;
    myFile.SaveAs(ppath);
    string FJname = FileName;
    PicPath = "PicBase" + "" + dirname + "" + NewName + FileExtention;
    }
    AddPicture(PicPath, rd[i], albumid);//将图片信息保存到数据库
    if (name == 1)//如果为每次更新的第一张图片,则将它更新为象册的封面
    ...{
    upFirstimg(albumid, PicPath);
    }
    name = name + 1;//用来重命名规则的变量
    }
    }
    else
    ...{
    lblMessage.Text = strmsg.ToString();
    lblMessage.Visible = true;
    }
    }
    private void AddPicture(string imgpath,string imgnote,string albumid)
    ...{
    string sql = "insert WB_AlbumImges(ImgPath,ImgNote,AlbumID) values('"+imgpath+"','"+imgnote+"','"+albumid+"')";
    DB mydb = new DB();
    mydb.RunProc(sql);
    }
    private void upFirstimg(string albumid,string firstimg)
    ...{
    string sql = "update WB_Album set FirstImg='"+firstimg+"' where AlbumID="+albumid;
    DB mydb = new DB();
    mydb.RunProc(sql);
    }
    }
    

      

  • 相关阅读:
    stenciljs 学习四 组件装饰器
    stenciljs 学习三 组件生命周期
    stenciljs 学习二 pwa 简单应用开发
    stenciljs ionic 团队开发的方便web 组件框架
    stenciljs 学习一 web 组件开发
    使用npm init快速创建web 应用
    adnanh webhook 框架 hook rule
    adnanh webhook 框架 hook 定义
    adnanh webhook 框架request values 说明
    adnanh webhook 框架execute-command 以及参数传递处理
  • 原文地址:https://www.cnblogs.com/njccqx/p/5763096.html
Copyright © 2011-2022 走看看