asp.net中使用Uploadify插件实现多张图片上传,上传后可显示缩略图、删除图片

ASP图片上传组件 图片批量上传控件 图片上传插件 立即下载

 本文为原创文章,欢迎转载!转载时请注明出处:http://blog.youkuaiyun.com/c_yang13

一、准备工具

1.jquery,我使用的是jquery-1.11.3.min.js

2.uploadify插件,到Uploadify官网下载即可,解压后发现有几个php文件,这是官方使用php语言做的一个例子,因为我要在asp.net下使用uplodify插件,所以把这几个php文件删掉了,删除后的目录如下:

Uploadify插件提供了很多参数和回调方法,这里Uploadify参数详解有个博主做了详细说明。

我把jquery和uplodify整个文件夹放在了网站的js目录下,如下图:

注意其中的swfobject.js不是uploadify提供的,在网上查资料的时候发现很多人都加了这个,我就下载了个,貌似不加也没什么影响,下面是从别处复制过来的对swfobject.js用途的介绍:

1.IE中没有讨厌的虚框问题了。
2.
提供了完善的版本检测功能,如果版本不够则显示其他东西,比如图片或文字。
3.
易于使用,只要在页面头加载一个 .js 文件,然后 HTML 写一个容器,里面放普通的文本或图片(用于无法显示 Flash 时显示),最后用脚本来替换这个元素里面的内容为 Flash。
4.
使得插入Flash媒体资源尽量简捷、安全。而且它是非常符合搜索引擎优化的原则的。
5.
能够避免HTML、XHTML中出现object、embed等非标准标签,从而符合更加标准。

二、创建文件

1.UploadImage.aspx:上传图片的主页面

2.UploadImage.ashx:将图片存入指定目录的一般处理程序

3.GetImage.ashx:获得已上传图片的一般处理程序

4.DeleteImage.ashx:删除所选图片的一般处理程序

5.UploadFile目录,存放上传的图片

整个工程的目录如下:


三、编写程序

先从被调用者,即后台部分开始

1.UploadImage.ashx

每上传一张图片就会调用此程序,将当前上传的图片存入UploadFile目录,我给图片重命名的时候精确到了微秒,因为这个uploadify上传文件太快了,一秒内能够上传好几张图片,如果精确到秒,很多图片就会重名,然后就被覆盖掉了,选择了10张图片上传也许实际上就上传了2张= =,不知道有无更好的重命名办法。不过在前台用checkExisting检查一下重复性也是极好的,这个可以根据需要选择。

using System;
using System.Web;
using System.IO;

public class UploadImage : IHttpHandler {

    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/plain";
        context.Response.Charset = "utf-8";
        HttpPostedFile file = context.Request.Files["Filedata"];//接收上传后的文件
        string uploadPath = HttpContext.Current.Server.MapPath("UploadFile" + "\\");//设置文件的保存路径
        //判断上传的文件是否为空
        if (file != null)
        {
            //判断目录是否存在,不存在则创建
            if (!Directory.Exists(uploadPath))
            {
                Directory.CreateDirectory(uploadPath);
            }
            //重新设置文件名,防止覆盖掉重名的图片
            string[] f = file.FileName.Split('.');//根据.将字符串分割为字符串数组
            string ext = f[f.Length - 1];//文件扩展名
            string fileName = DateTime.Now.ToString("yyyyMMddhhmmssffffff") + "." + ext;//精确到微秒,秒不够!
            file.SaveAs(uploadPath + fileName);
            context.Response.Write("1");
        }
        else
        {
            context.Response.Write("0");
        }
    }
 
    public bool IsReusable {
        get {
            return false;
        }
    }
}

2.GetImage.ashx

当主页面UploadImage.aspx载入的时候,调用此程序以展示UploadFile中的所有图片;当图片上传完毕后,调用此程序以更新图片显示。(这个就是根据需要调用了)

using System;
using System.Web;
using System.IO;
using System.Collections.Generic;

public class GetImage : IHttpHandler {

    string[] imgPattern = { "*.gif", "*.jpg", "*.png" };//就是只从指定目录搜索这些后缀的文件,这个一定要和前台参数fileTypeExts的值一致。
    string imgPath = "UploadFile/";//搜索路径
    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "application/json";
        context.Response.Write(ConvertToJson(getImages(imgPath, imgPattern)));//记得把返回给前台的List<string>对象转化成Json字符串
    }

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }
    
    //获取指定路径下的所有图片
    private List<string> getImages(string path, string[] searchPatterns)
    {
        DirectoryInfo imagesfile = new DirectoryInfo(HttpContext.Current.Server.MapPath(path));
        FileInfo[] files = imagesfile.GetFiles();
        List<string> tempFiles = new List<string>();//记录图片文件的名称
        foreach (FileInfo file in files)
        {
            if (Array.IndexOf(searchPatterns, "*" + file.Extension) >= 0)
            {
                tempFiles.Add(file.Name);//如果是图片就存起来
            }
        }
        return tempFiles;
    }
    
    //将object转换成json字符串
    public string ConvertToJson(object obj)
    {
        return new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(obj);
    }
}

3.DeleteImage.ashx

当点击图片下方的“删除”按钮时调用此程序,删除一个图片要做两件事:1.告诉后台把该图片从存放目录删除 2.后台将图片成功删除后,要通知前台,清除其缩略图。

所以这个程序需要接收一个参数,同时还要回传一个参数,这两个参数值是一样的,都是当前操作的图片名fileName

using System;
using System.Web;
using System.IO;
public class DeleteImage : IHttpHandler {

    string imgPath = "UploadFile/";//图片存放的目录
    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "application/json";
        //string fileName = context.Request.QueryString["fileName"];//针对Get请求,建议使用Post请求,因为Get会缓存数据,会出现问题。
        string fileName = context.Request.Form["fileName"];//针对Post请求
        string filePath = HttpContext.Current.Server.MapPath(imgPath + fileName);
        if (File.Exists(filePath))
        {
            File.Delete(filePath);
            context.Response.Write(ConvertToJson(fileName));//回传删除图片的名称,必须转化成Json字符串才能被前台获取到
        }
    }

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }

    //将object转换成json字符串
    public string ConvertToJson(object obj)
    {
        return new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(obj);
    }
}

后台程序写好,主页面就可以很方便的调用了,当然在实际的开发中,我是想到哪写到哪= =

4.UploadImage.aspx

(1)引入相关文件

<link type="text/css" rel="Stylesheet" href="js/uploadify/uploadify.css" />    //用来控制上传按钮的样式、包括进度条的显示等
<script type="text/javascript" src="js/jquery-1.11.3.min.js"></script>  //强大的JS库,兼容各种浏览器,提供各种功能,包括创建修改HTML元素、操作CSS、实现Ajax等等
<script type="text/javascript" src="js/uploadify/jquery.uploadify.js"></script>  //uploadify的核心部分
<script type="text/javascript" src="js/uploadify/swfobject.js"></script> //引入swfobject.js

(2)body部分,主要做以下工作:

1.添加一个file类型的Input控件,用来点击浏览图片

2.添加“上传”和“取消”按钮,注意加*表示点击”上传“之后一次性上传选择的所有图片,否则,即使选择了多个图片,每次点击也只上传一个图片。

3.添加一个div用来存储上传队列,展示上传进度条,我不想显示那些进度条,所以就把这个div给隐藏掉了。。。

4.添加一个div用来展示图片,注意我实现的上传后预览,而且是预览已上传的所有图片,且实现的效果是:每行显示5张图片,每个图片100px:100px,所以这个div的宽度设置成600px就够用了,然后高度就是根据内容自动增长。

<body>
    <form id="form1" runat="server">
    <div style=" margin:0 auto; width:700px; border:1px; border-style:solid; border-color:Silver;">
        <input type="file" name="uploadify" id="uploadify" />
        <p>
            <a id="upload" href="javascript:$('#uploadify').uploadify('upload','*')">上传</a>|
            <a href="javascript:$('#uploadify').uploadify('cancel','*')">取消上传</a>
        </p>
        <div id="fileQueue" style=" visibility:hidden; width:600px; height:1px; overflow:hidden;"></div>
        <div id="preDiv" style=" margin:0 auto; border:1px; border-style:solid; border-color:Silver; width:600px; height:auto;">
        </div>
        <br />
    </div>
    </form>
</body>

(3)js部分,这个部分是最关键的,主要做了以下几件事:

1.点击”浏览图片“选择一张或多张图片(进度条也是在这之后生成的);

2.点击”上传“,将选择的图片上传到指定的目录;

3.点击”取消上传“,清空上传队列(进度条会消失~);

4.所选图片上传完毕后,在下方显示已上传的所有图片;

5.点击某个图片下面的“删除”按钮,删除该图片。

1、3设置uploadify提供的相应参数即可实现的,2、4、5还需要编写相应的后台处理程序。

<script type="text/javascript">
        $(document).ready(function () {
            createPreImage();
            $("#uploadify").uploadify({
                'auto': false, //设置选择图片之后是否立即上传,我设置的是false,就是只有在点击了”上传“按钮之后才上传图片
                'swf': 'js/uploadify/uploadify.swf', //uploadify.swf 文件的相对路径。
                'uploader': 'UploadImage.ashx', //后台处理程序的相对路径。
                'folder': 'UploadFile', //存储图片的相对路径
                'queueID': 'fileQueue', //设置上传队列容器DOM元素的ID
                'buttonText': '浏览图片', //上传按钮的文字
                'width': 100, //上传按钮的高和宽
                'height': 30,
                'removeTimeout': 0, //表示上传完成后多久删除队列中的进度条,默认为3
                'removeCompleted': true, //是否自动将已完成任务从队列中删除
                //'checkExisting': true, //文件上传重复性检查程序,检查即将上传的文件在服务器端是否已存在,因为我已经后台给所有上传的文件重命名,就没有设置这个属性
                "fileSizeLimit": "4096KB", //上传文件大小限制,默认单位是KB
                "fileTypeExts": "*.jpg;*.gif;*.png", //指定允许上传的文件类型。默认*.*
                'onQueueComplete': createPreImage, //文件上传队列处理完毕后触发函数createPreImage()
                'multi': true //可以选择多个文件
            });
        });
        //下面这个函数在onQueueComplete中调用,主要做两件事:1.根据后台返回的数据动态生成缩略图 2.给每个图片对应的“删除”按钮绑定Click事件
        function createPreImage() {
            $.post("GetImage.ashx", function (data, status) {
                $("#preDiv").empty();//先清空div
                for (var i = 0; i < data.length; i++) {
                    var newDiv = $("<div></div>").addClass("cell");//创建子div
                    var newImg = $("<img/>").addClass("imgSyle");//创建img,用于展示图片
                    var newDel = $("<a>删除</a>").addClass("delSyle");//创建<a>,用于删除图片
                    var newHidden = $("<input type=\"hidden\"/>").attr("value", data[i]);//创建<input>,存储图片名称,用于向后台传递参数
                    newImg.attr("src", "UploadFile/" + data[i]); //设置图片的src
                    newDel.bind("click", function () {
                        delDiv = $(this).parent(); //先获取父级元素,在下面remove才有效
                        //$(this).parent().find("input").attr("value");//返回newDel的直接父元素的Input类型的子元素√
                        var fname = $(this).next().attr("value");//返回newDel元素的下一个同胞元素√
                        $.post("DeleteImage.ashx", { fileName: fname }, function (res, state) {
                            if (state == "success" && res != "") {
                                //$(this).parent().remove();//不起作用
                                //$("#" + bn).remove();//√,需要给父级元素设置id
                                delDiv.remove(); //√
                            }
                        });
                    });
                    newDiv.append(newImg);//将newImg、newDel、newHidden放到newDiv中,每读取一个图片就创建一个newDiv;每删除一个图片就删除其对应的newDiv
                    newDiv.append(newDel);
                    newDiv.append(newHidden);
                    $("#preDiv").append(newDiv);//将newDiv放到preDiv中
                }
            });
        }
    </script>

(4)Style部分,我在这部分简单设置了下图片显示的样式

<style type="text/css">
        .cell
        {
            position:relative;
            width:120px;
            height:130px;
            display:inline-block;
        }
        .imgSyle
        {
            display:block;
            margin:0 auto;
            width:100px;
            height:100px;
            margin-top:5px;
        }
        .delSyle
        {
            display:block;
            margin:0 auto;
            margin-top:5px;
            width:40px;
            height:15px;
            line-height:15px;
            outline: none;
            text-decoration:none;
            color:Gray;
            text-align:center;
            background-color:ButtonFace;
            border:1px solid Silver;
        }
   </style>

四、处理bug

按照上述步骤创建程序之后,在firework浏览器中可以正常运行,但是在IE9中点击“浏览图片”按钮居然没有反应! 解决方法如下:

在jquery.uploadify.js文件中找到SWFUpload.prototype.getFlashHTML函数,给其返还的object标签添加一个classid属性,修改后的代码如下:

SWFUpload.prototype.getFlashHTML=function(){return['<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="',this.movieName,'" type="application/x-shockwave-flash" data="',this.settings.flash_url,'" width="',this.settings.button_width,'" height="',this.settings.button_height,'" class="swfupload">','<param name="wmode" value="',this.settings.button_window_mode,'" />','<param name="movie" value="',this.settings.flash_url,'" />','<param name="quality" value="high" />','<param name="menu" value="false" />','<param name="allowScriptAccess" value="always" />','<param name="flashvars" value="'+this.getFlashVars()+'" />',"</object>"].join("")};

OK,大功告成= =!下面附上效果图


asp批量上传图片 已经测试通过! 10M以内的单张图片均可以上传!上传多少张用户自己定! 立即下载

相关推荐

Plupload-S3-Imgix:探索使用 Plupload 将文件直接上传到 Amazon S3,然后使用 Imgix 使用预签名的 S3 URL 作为 Web 代理的源进行动态缩略图创建

在 AngularJS 中将 Plupload 与 Amazon S3 和 Imgix 一起使用 (在) 在我的大部分 Plupload 演示中,我一直在上传图像,然后使用全尺寸图像来呈现“缩略图”; 但是,现在我正在学习 ,对于按需图像处理,我想看看是否可以使用 Imgix 为我的 Plupload 演示构建动态缩略图。 所以,在这个实验中,我还是直接从Plupload上传到Amazon S3; 但是,当缩略图被渲染时,它们将通过 Imgix 路由: 用户 -> 缩略图 URL -> Imgix 缓存 -> Imgix 处理器 -> Amazon S3 预签名 URL Imgix 的强大之处不仅在于它可以进行图像处理,这意味着可以腾出您的服务器来做更多的“业务”,这还意味着我们可以即时更改缩略图样式和/或大小。 如果你问我,那真是太疯狂了!

Asp.Net MVC ckeditor插件多图片上传

实现这个功能遇到很多坑,在网上也找了很多资料,但是网上的多而杂,所以就总结下。 下载网盘ckeditor: 链接:https://pan.baidu.com/s/1U-mztsiIdkdNHUGyoHjSBw 提取码:7uyj 效果图: Html代码: <div class="noticeContent"> @*纯文本编辑控件*@ ...

心若静,风奈何 775

asp.net(c#)开发中的文件上传组件uploadify的使用方法(带进度条)

在asp.net开发中,有很多可以上传的组件模块,利用HTML的File控件(uploadify)的上传也是一种办法,这里为大家介绍一下(uploadify)的一些使用方法

Asp.Net 自定义控件实现图片的上传,浏览,删除功能

4月的时候公司比较闲,就想着自己做点东西,其实主要是为了更加熟悉.Net,毕竟接触的时间不长,趁着有时间想提高提高。不过当我做到图片上传这个功能的时候,就有些停滞不前了,连续写了两天也达不到自己想要的标准。后来公司来活,然后就没有然后了,然而做事总不能半途而废吧~时隔一个多月,趁着这个周末,我再次拾起了这个项目,而首要工作就是攻破这个图片上传控件。 下面说说我的标准是什么子的吧~ 1...

dnkdnhh203971的博客 424

基于PLC1200与CB1241的RS485从站Modbus Rtu通信实战指南

本文提供了一份详细的西门子S7-1200 PLC与CB1241 RS485通讯板实现Modbus RTU从站通信的实战指南。内容涵盖从硬件接线、博途软件组态、关键参数设置到程序调试与测试的全过程,重点解析了Modbus_Slave指令配置与数据块映射,帮助工程师快速掌握工业自动化系统中的数据采集与设备接入技术。

Apple的专栏 795

【1】Java 部分笔试题解析

解析A.abstract关键字应该放在class关键字之前。C.抽象方法不能有方法体。D缺少了class关键字。

博客 3941

开发网站几乎都做过上传图片并截图,做个无刷新Asp.Net上传并截图示例

(美中不足,插件本身对session使用有一点BUG,不过能解决,chrome&FireFox里上传如果代码中有用Session,获取不到)这个基于Flash的支持多文件上传的Jquery插件,很多人估计都用过了,我也在不同的项目中用过很多次,简单易用且功能强大。2.在预览区,实现鼠标拖拽截图区,截取图片(示例截图区按缩放图小边为截图正方形长度,可扩展为截图区可变形式)Uploadify中参数如果动态改变的,可以写在像我下面写的这样去更新参数。再给这些新添DIV写些样式。

jPb1ivlpQ的博客 220

拼多多全站商品SKU数据爬虫实战:Python自动化采集与清洗

在电商数据分析领域,SKU(Stock Keeping Unit,库存量单位)数据是洞察商品策略、价格体系和市场竞争格局的核心抓手。本文以拼多多平台为研究对象,系统讲解如何利用Python构建一套完整的全站商品SKU自动化采集与清洗流程。文章涵盖目标分析与反爬策略、网络请求模拟、数据解析、分布式存储、数据清洗与标准化,以及调度与运维等全链路环节,并提供可直接运行的代码示例。拼多多API返回的数据结构大致如下(已脱敏):json"goods_name": "某品牌运动鞋",

2201_76125261的博客 216

Asp.Net无刷新上传并裁剪头像

      开发网站几乎都做过上传图片并截图,做个无刷新Asp.Net上传并截图示例 实现功能: 1.选择文件,自动上传并生成缩放图(上传带进度条),形成预览图 2.在预览区,实现鼠标拖拽截图区,截取图片(示例截图区按缩放图小边为截图正方形长度,可扩展为截图区可变形式) 3.点击保存,截取小图,保存截取图并显示在页面上,并删除原缩略图 示例截图:   ---------...

weixin_34301307的博客 91

游戏开发中的CV:实时动作捕捉与虚拟交互

游戏开发中的CV:实时动作捕捉与虚拟交互​ ,人工智能,计算机视觉,大模型,AI,在当今游戏产业中,玩家对游戏体验的要求日益提高,追求更加真实、沉浸的交互感受。计算机视觉(Computer Vision,CV)技术的飞速发展,为游戏开发带来了革命性的突破,其中实时动作捕捉与虚拟交互技术更是成为提升游戏品质的核心驱动力。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 16万+

YOLOv8首发优化:遥感目标检测 | 专为低质量遥感图像设计的边缘 - 高斯聚合(EGA)模块,解决低空间分辨率、传感器噪声、目标模糊、低光照退化和部分遮挡等限制

一种轻量级网络,其创新性地整合了专为低质量遥感图像设计的边缘 - 高斯聚合(EGA)模块。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 492

启用 CORS 来解决这个问题(ajax跨域请求)

1 <input type="file" name="btn_Upload" value="上传" id="btn_Upload" /> 2 <img src="" alt="" id="img_Upload" /> 3 4 @section Scripts 5 { 6 <link href="../../js/uploadif...

weixin_33955681的博客 386

完整功能-《网络安全创新实践》:设计并实现一种基于Npcap的网络嗅探器(直接能运行cpp的MFC代码+实验报告)

《网络安全创新实践》:设计并实现一种基于Npcap的网络嗅探器。(直接能跑的MFC)监听所有数据包,以及监听指定IP地址的数据包;(2)能够显示完整的IP数据包首部信息,例如:版本、首部长度、数据包长度、数据包类型(协议字段)、TTL、源IP地址、目的IP地址等;(3)能够显示完整的TCP报文段信息,例如:源端口、目的端口、序号、确认号、数据部分等;(4)能够自动检测SQL注入攻击等Web攻击行为;(5)能够将监听到的数据包信息保存到文件中,以及从文件中读取并显示数据包信息;(6)具有图形化操作界面。

weixin_46531010的博客 661

asp上传图片及删除图片,并从文件夹里删除

一.上传图片    public string  picUpload()    {         if (this.FIleUploadPic.HasFile)//检查是否有文件        {            string fullFileName = this.FIleUploadPic.PostedFile.FileName;                           ...

lingxiao200的专栏 1019

Android系统去掉长按webview界面弹框中的分享功能

Android 系统去解决长按显示内容,去掉分享功能,不论那个界面,是所有界面都需要满足。如果仅仅去掉系统自带的,那么系统来处理如果客户自定义,部分App自定义的菜单项,不是调用系统的,那么还是需要应用去解决的。之前做过Editext,其实还需要去TextView,最难点的就是WebView中的HTML了 去分享功能了。WebView中涉及到分享功能菜单的界面,/***//***//***//***//***//***//***//***//**

十年饮冰,难凉热血 1019

BES2810_best1702_best1702_ibrt_三者关系深度解析

一颗芯片的三个名字:BES2810、best1702 与 best1702_ibrt 关系深度解析

weixin_42162924的博客 349

ASP.NET2.0打通文件图片处理任督二脉【月儿原创】

ASP.NET2.0打通文件图片处理任督二脉作者:清清月儿 主页:http://blog.csdn.net/21aspnet/           时间:2007.4.11.最简单的单文件上传(没花头)2.多文件上传3.客户端检查上传文件类型(以上传图片为例)4.服务器端检查上传文件类型(以上传图片为例) 5.服务器端检查上传文件类型(可以检测真正文件名) 6.上传文件文件名唯一性处理

深度Java 4万+

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

MVC图片上传、浏览、删除 ASP.NET MVC之文件上传【一】(八) ASP.NET MVC 图片上传到服务器...

MVC图片上传、浏览、删除 1、存储配置信息 在web.config中,添加配置信息节点 <appSettings> <add key="UploadPath" value="D:\Uploads" /> </appSettings> 2、图片上传 html页面中 <div class="left...

1034

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Asp.net上传多个文件【随意添加和删除个数】

项目中问题手记,网上搜集并整理正确 首先上前端页面 运行成功是这的 前端代码 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MulitFilesUpload.aspx.cs" Inherits="WebApplication1.MulitFilesUpload" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt

2423

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

ASP.NET MVC使用Uploadify上传文件

在VS2010中通过ASP.NET MVC使用uploadify上传文件

郑林的专栏 5187

Plupload 上传控件使用指南

本文转载至(感谢原作者分享):http://www.cnblogs.com/2050/p/3913184.html#plupload_doc2 我之前写过一篇文章《文件上传利器SWFUpload使用指南》,里面介绍了上传组件SWFUpload的使用方法,但现在随着html5技术的逐渐推广和普及,再去使用以flash为上传手段的SWFUpload显然就有点过时了,毕竟html5原生的就给我们提...

weixin_30457551的博客 1251

ASP 文件上传插件SWFUpload(头像图片上传)

引入插件js文件:            SWFUpload_Demo.aspx: var swfu; window.onload = function () { swfu = new SWFUpload({ // Backen

houyanhua1的专栏 1325

用asp组件上传图片

Lyfupload.dll 用regsvr32注册Set con=server.CreateObject("adodb.connection")con.open "provider=microsoft.jet.oledb.4.0;data source=" & server.mappath("/picture.mdb")Set rs=server.CreateObject("adodb.r

WEB爱好者 1175
上一篇: 以此勉励
下一篇: Eclipse无法查看源码,提示source not found
duomuer
博客等级 码龄16年 21粉丝 10原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值