站长之站 站长之站QQ群:16356000 100345456 16263640 130690866
还没有任何记录...
当前位置:站长之站 > 数据库类 > 正文 > sqlserver用image格式储存图片

sqlserver用image格式储存图片

来源:网络作者:网络日期:2020/12/7 0:50:00收藏
本文链接:sqlserver用image格式储存图片http://www.cncncc.com/ArtData/Show.Asp?id=2028

一、建表

create table [dbo].[imagefile](
    [id] [uniqueidentifier] not null,
    [name] [nvarchar](200) null,--文件名
    [type] [nvarchar](50) null,--文件类型
    [image] [image] null--文件)

二、插入数据

/// <summary>
        /// 插入图片
        /// </summary>
        /// <param name="filepath">图片文件夹路径</param>public void importimage(string filepath)
        {            string conn = "server=.;database=test;uid=sa;pwd=1;";            using (sqlconnection myconn = new sqlconnection(conn))
            {
                myconn.open();                using (sqlcommand mycomm = new sqlcommand())
                {                    foreach (fileinfo item in dir.getfiles("*.jpg"))//循环读取文件夹内的jpg文件
                    {                        var pic = getjpgsize(item.fullname);                        string str = string.format("insert into imagefile (imagefileid,name,type,image) values('{0}','{1}','{2}',@file)", guid.newguid().tostring(), path.getfilenamewithoutextension(item.fullname), item.extension.substring(1));//插入数据
                        mycomm.commandtext = str;
                        mycomm.connection = myconn;
                        filestream fs = new filestream(item.fullname, filemode.open);
                        binaryreader br = new binaryreader(fs);
                        byte[] bydata = br.readbytes((int)fs.length);
                        fs.close();
                        mycomm.parameters.add("@file", sqldbtype.binary, bydata.length);
                        mycomm.parameters["@file"].value = bydata;
                        mycomm.executenonquery();
                        mycomm.parameters.clear();
                    }
                }
            }
        }

三、前端显示

<img src="data:image/png;base64,这里写你的base64代码" onload="imageload(this)" />
// 获取图片真实高度,并动态传值设置图片显示的高度
    function imageload(_this) {        var imagesrc = $(_this).attr("src");        var img = new image();
        img.src = imagesrc;        // 如果图片被缓存,则直接返回缓存数据
        if (img.complete) {            var width = img.width > img.height ? 550 : 310;            var height = img.height / img.width * width;
            $(_this).css("width", width + "px")
            $(_this).css("height", height + "px")
        } else {
            img.onload = function () {                var width = img.width > img.height ? 550 : 310;                var height = img.height / img.width * width;
                $(_this).css("width", width + "px")
                $(_this).css("height", height + "px")
            }
        }
    }

四、图片放大(可选功能)

<img onclick="imgenlarge(this)" src="data:image/png;base64,这里写你的base64代码" onload="imageload(this)" />

比原显示代码多个点击事件

<div id="imgenlargediv" style="display: none; text-align: center;position: fixed;z-index: 1000;top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(255,255,255,.9);">
    <img id="bigimg" style="height: 90%;width: auto;border: 0px;margin: auto;position: absolute;top: 0;bottom: 0;left: 0;right: 0;" src="" /></div>

加个容器

$(function () {
        $("#imgenlargediv").click(function () {//再次点击淡出消失弹出层    
            $(this).fadeout("fast");
        });
    });    function imgshow(outerdiv, bigimg, _this) {        var src = _this.attr("src");//获取当前点击的pimg元素中的src属性    
        $(bigimg).attr("src", src);//设置#bigimg元素的src属性
        $(outerdiv).fadein("fast");  //图片放大的div快速淡入显示层
    }    function imgenlarge(_this) {
        imgshow("#imgenlargediv", "#bigimg", $(_this));
        $("img[type ='showimg']").mouseover(function () {
            $(this).css("cursor", "pointer");//鼠标移动到图片,鼠标箭头变为手势
        });
        $("img[type ='showimg']").click(function () {            var _this = $(this);//将当前的pimg元素作为_this传入函数    
            imgshow("#imgenlargediv", "#bigimg", _this);
        });
    }

脚本部分


作者:站长之站 收集整理,任何媒体转发须保留作者个人微信和来源,不尊重作者劳动的行为将受到举报。
本文链接:sqlserver用image格式储存图片http://www.cncncc.com/ArtData/Show.Asp?id=2028

【sqlserver用image格式储存图片】由站长之站收集整理,您可以自由传播,请主动带上本文链接

觉得有用就多来支持一下,没有能帮到您,站长之站也只能表示遗憾,希望有一天能帮到您。

(责任编辑:站长之站)

上一篇:关于mysql严格模式的开启、关闭

下一篇:没有数据

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
站长之站 · CNCMS
站长之站
编程开发
ASP教程 .NET教程 JSP教程 PHP教程 Xml/Xslt Shtml教程 CGI专区 JavaScrip 其他编程
服务器类
Web服务器 Ftp服务器 Mail服务器 Dns服务器 Linux服务器 Win服务器 安全防护 服务器其他
网页设计
Html教程 设计心得 动态网页 JS/Ajax Div/Css CSS教程 设计其它
软件教程
Photoshop Fireworks FLASH Dreamweaver Frontpage 其他教程
数据库类
MSAccess MS_SQL My_SQL VFP PowerBuilder Oracle 其它数据
全站导航
编程开发服务器类网页设计软件教程数据库类
关于我们/版权
版权所有:
Copyright © 2008 - 2020 站长之站 www.cncncc.com
PowerBy:CNCMS(5.1.20)

苏ICP备16002106号-1