MYBLOG

欢迎来到小马哥的个人博客~

[原创].net+swfupload实现flash批量上传图片文件(附源码下载)

2020-03-08学海无涯

老早之前写的代码了,实现了批量上传图片及水印处理(文字水印、图片水印)、生成缩略图、自定义路径功能,今天在这里大概介绍一下,并将实例代码分享出来。因为当初写这个例子就是给公司其他员工当例子讲解的,只写了上传,没有写重新编辑时加载图片(着重在这里将一下)

1、项目目录

2、前台代码


<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="Upload.index" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>

    <link href="css/upload.css" rel="stylesheet" type="text/css" />
    <link href="css/ligerui-dialog.css" rel="stylesheet" type="text/css" />
    <script type='text/javascript' src="js/jquery-1.3.2.min.js"></script>
    <script type='text/javascript' src="js/ligerBuild.min.js"></script>
    <script type='text/javascript' src="js/swfupload/swfupload.js"></script>
    <script type='text/javascript' src="js/swfupload/swfupload.queue.js"></script>
    <script type="text/javascript" src="js/swfupload/swfupload.handlers.js"></script>
    <script type="text/javascript">
        //初始化上传控件
        //服务器处理程序
        //上传对象名称
        //文件大小限制
        //flash地址
        //是否生成水印:0、不生成水印,1、生成图片水印,2、生成文字水印
        //缩略图个数:最大值为2
        //存放目录
        $(function () {
            InitSWFUpload("tools/upload_ajax.ashx", "Filedata", "2048 KB", "js/swfupload/swfupload.swf", 1, 2, "");
        });
    </script>
</head>
<body class="mainbody">
    <form id="form1" runat="server">
        <input type="text" class="txtInput normal left" />
        <div class="upload_btn"><span id="upload"></span></div>
        <div class="clear"></div>
        <asp:HiddenField ID="focus_photo" runat="server" />
        <div id="show"></div>
        <div id="show_list">
            <ul>
                <asp:Literal ID="LitAlbumList" runat="server"></asp:Literal>
            </ul>
        </div>
    </form>
</body>
</html>

3、JS的InitSWFUpload方法代码如下:

4、一般处理程序代码(截图没截全自己下载代码看吧):

5、着重讲一下重新编辑信息时,图片的加载代码吧,这里我把代码封装成了一个方法,有需要的根据自己的逻辑改下就可以了


 private string GetPrintHtml(string print, string printremark, string coverimg, string fallsImg)
        {
            StringBuilder strTxt = new StringBuilder();
            if (!string.IsNullOrEmpty(print))
            {
                string[] AllPrints = print.Split('|');
                string[] AllPrintsRemark = printremark.Split('|');
                for (int i = 0; i < AllPrints.Length; i++)
                {
                    int id = i;
                    string big_img = AllPrints[i].ToString();
                    string small_img = big_img.Replace("Original", "Thumbnails");
                    string remark = AllPrintsRemark[i].ToString();
                    strTxt.Append("<li>\n");
                    strTxt.Append("<input type=\"hidden\" name=\"hide_photo_name\" value=\"" + id + "|" + big_img + "|" + small_img + "\" />\n");
                    strTxt.Append("<input type=\"hidden\" name=\"hide_photo_remark\" value=\"\" />\n");
                    strTxt.Append("<div onclick=\"focus_img(this);\" class=\"img_box");

                    if (i == 0)
                    {
                        strTxt.Append(" current");
                    }
                    strTxt.Append("\">\n");
                    if (coverimg == big_img)
                    {
                        strTxt.Append("<div class=\"tag-org\" ><span>首封</span></div>");
                    }
                    else
                    {
                        strTxt.Append("<div class=\"tag-org\" style=\"display:none;\"><span>首封</span></div>");
                    }
                    if (fallsImg == big_img)
                    {
                        strTxt.Append("<div class=\"tag-orgleft\" ><span>副封</span></div>");
                    }
                    else
                    {
                        strTxt.Append("<div class=\"tag-orgleft\" style=\"display:none;\"><span>副封</span></div>");
                    }
                    strTxt.Append("<img bigsrc=\"" + big_img + "\" src=\"" + small_img + "\" />");
                    strTxt.Append("<span class=\"remark\"><i>");
                    if (!string.IsNullOrEmpty(remark))
                    {
                        strTxt.Append(remark);
                    }
                    else
                    {
                        strTxt.Append("暂无描述...");
                    }
                    strTxt.Append("</i></span></div>\n");
                    strTxt.Append("<a onclick=\"show_remark(this);\" href=\"javascript:;\">描述</a><a onclick=\"set_cover(this,'" + big_img + "');\" href=\"javascript:;\">设为首封</a><a onclick=\"set_falls(this,'" + big_img + "');\" href=\"javascript:;\">设为副封</a><a onclick=\"del_img(this);\" href=\"javascript:;\">删除</a>\n");
                    strTxt.Append("</li>\n");
                }
            }
            return strTxt.ToString();
        }
6、效果如下



7、源码下载