精华内容
下载资源
问答
  • oracle数据库存的是blob类型的图片,现在想把这个图片获取到,到本地,然后将数据库中对应的图片删掉,只保存图片的路径, 这个代码应该怎么实现? 因为条件限制,数据库中的图片是第三方插进来的,所以只能...
  • POI如何根据图片路径,把图片导入word文档中?数据库的是图片的路径,需要拼接服务器地址才能显示出来图片,然后怎么图片导入word文档中呢?求救大神!
  • 就像这样 app发帖 有文字也有图片 想和网页保持一致 就是网页也可拿到后台数据展示 我该怎么存数据库 后台是php 小白求解救。。 ![图片说明](https://img-ask.csdn.net/upload/201803/09/1520554931_391154.jpg) ...
  • 需要做一个众筹网站,大家有源码可以参考一下吗?用ASP.NEt开发的
  • 图片存数据库

    2019-06-17 21:45:05
    我们在做项目的时候,我们会存将数据存进数据库里面,我们存的数据不但有字段还有图片,那图片我们该怎么存数据库里面呢。 第一步:先选择到你要存储的图片 用的是file属性的input <form action=...

       我们在做项目的时候,我们会存将数据存进数据库里面,我们存的数据不但有字段还有图片,那图片我们该怎么存到数据库里面呢。

    第一步:先选择到你要存储的图片

    用的是file属性的input

    <form action="InsertImage" method="post" id="InsertImage">

            <input type="file" name="image" value=" " />

            <button type="button" class="btn" id="tijaobtn">提交</button>

    </form>

        <script src="~/Plugins/jquery-3.2.1.min.js"></script>

        <script src="~/Plugins/jquery.form.min.js"></script>

        <script>

            $("#tijaobtn").click(function () {

                $("#InsertImage").ajaxSubmit(function (returnJson) {

                    console.log(returnJson);

                    if (returnJson == true) {

                        alert("新增成功");

                    }

                });

            });     

        </script>

    页面上的效果:

    点击就可以打开图片选择

     

    第二部:将图片存到数据库

    提交用的是插件的ajaxSubmit,这样就可以把图片提交到控制器。

    控制器代码:

    这样就可以存储到数据库了,他是以二进制的形式存到数据库的。

    展开全文
  • [img=https://img-bbs.csdn.net/upload/201506/20/1434780386_248625.png][/img] 我想用数据库做成上面的样子, 如果有什么更好的方法请指教
  • 但是,如果想 图文文件直接存在数据库里,怎么实现呢? 由于图片数据较大,在MySQL中直接存储的话,应该选则 BLOB 类型的字段。 (以下假设图片的大小为 100K以下 ,太大的不适合 ) 1将字段类型设为mediumtext ...

    ( Java面试题 )

    通常,应该把文件放在文件系统(硬盘)上,在数据库里只存储图片文件的路径 。但是,如果想 图文文件直接存在数据库里,怎么实现呢?

    由于图片数据较大,在MySQL中直接存储的话,应该选则 BLOB 类型的字段。

    ( 以下假设图片的大小为 100K 以下 , 太大的不适合 )

     

    1 将字段类型设为 mediumtext

    此字段可用于存储 <16MB 的文本

     

    2 读取文件数据,转成Hex 或 base64

    关于 Hex 和 base64 编码,参考 Java学习指南 - 项目应用篇,数据的编码

    将编码后的文本存到数据库中即可

    // 写入过程,伪代码表示

    byte[]  buffer = new byte[fileSize] ;
    
    fileStream.read ( buffer)
    
    String base64str =  base64Encode ( buffer )  将数据转成base64字符串
    
    String sql = "update YOUR_TABLE set  thumb='%s' WHERE  ... "  拼凑一个SQL

    执行 sql  ...

     

    // 读取过程,伪代码表示

    String sql = ....
    
    String base64str = ... 从数据库中取读该列的值
    
    byte[] imageData = base64Decode ( base64str ) 把 base64字符串转回byte[]
    
    file.write ( imageData )

    再次强调,图片还是要小一点,如果太大是真得不适合存到数据库的。

    展开全文
  • 还是使用帆软报表上传图片,不需要在数据库里来个字段接收,那么查看的时候又怎么显示了?我觉得应该是二进制字段类型接收的好,所以选择varbinary,但又报错。 如果使用varchar接收,是可以提交成功,但后台...
  • 怎么把mysql数据库中的图片显示在mui的界面上,后台用的是springboot,实体类使用的是byte[]来接收的,数据库的是图片不是路径,类型是blob.
  • 看代码: --图片的数据表 create table pics( id int primary key not null identity(1,1), ...请问:怎么把网络上的图片存数据库中,或者说怎么给网络文件建立流 恳请高手解决,先谢过了。。
  • 第一种场景,把本地图片存入数据库,用于初始化数据 private static final String DB_URL = "jdbc:oracle:thin:@18.09.1.133:1521:pmsdb"; private static final String DB_USER = "test"; private static final ...

    第一步数据添加数据库字段为 BLOB类型的

    alter table tbl_scm_function add IMAGE Blob ;

    第二步 有三种场景

    第一种场景,把本地图片存入数据库,用于初始化数据

    private static final String DB_URL = "jdbc:oracle:thin:@18.09.1.133:1521:pmsdb";
    
    private static final String DB_USER = "test";
    
    private static final String DB_PASSWORD = "test";
    
    private static Connection conn = null;
    
    public static void main(String[] args) throws Exception {
        Connection conn = getConnection();
        //依据自身情况编写sql,这里是需要将这个表image字段图片修改进去
        PreparedStatement ps = conn
                .prepareStatement("update  tbl_scm_function  set image = ? where id = ?");
    
        //图片本地路径
        String inFile = "E:/namespacenanhang/image/tbl_scm_activity_jipiao.jpg";
        //设定的是blob类型
        ps.setBlob(1, file2Blob(inFile));
        ps.setString(2,"Sc_Policy_Tasks");
        ps.executeUpdate();
    }
    
    /**
     * 初始化数据时使用
     */
    public static Blob file2Blob(String inFile){
        try {
            byte [] result = file2Byte(inFile);
            BLOB blob = BLOB.createTemporary(conn, true, BLOB.DURATION_SESSION);
            blob.setBytes(1, result);
            return blob;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
    
    /**
     * 将文件转化为二进制的数据
     */
    public static byte[] file2Byte(String inFile){
        InputStream in = null;
        try {
            in = new FileInputStream(new File(inFile));
            int len = in.available();
            byte [] result = new byte[len];
            in.read(result);
    
            return result;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
    
    static {
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
            conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public static Connection getConnection() {
        try {
            if (conn == null) {
                Class.forName("oracle.jdbc.driver.OracleDriver");
                conn = DriverManager
                        .getConnection(DB_URL, DB_USER, DB_PASSWORD);
            }
            return conn;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
    

    第二种场景 当前端新增数据时其中包括要新增图片
    实体类字段设置为byty[]类型

    private byte[] image;

    @PostMapping("/insertContent")
    public R insertContent(TblScmFunction query,@RequestParam("file") MultipartFile file){
        try {
            //File 类型变成byte[]类型
            byte[] bytes = this.file2BytebyFile(file);
            query.setImage(bytes);
            return ResponseUtil.buildResponseBody(contentService.insertContent(query),null);
        } catch (Exception ex){
            log.error("新增内容异常", ex);
            return R.failed("新增内容异常");
        }
    }
    
    //用于新增图片页面使用,
    public  byte[] file2BytebyFile(MultipartFile multipartFile){
        InputStream in = null;
        try {
            File file = multipartFileToFile(multipartFile);
            in = new FileInputStream(file);
            int len = in.available();
            byte [] result = new byte[len];
            in.read(result);
            return result;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
    
    //将MultipartFile文件类型转换成file类型
    public  File multipartFileToFile(MultipartFile file) throws Exception {
        File toFile = null;
        if (file.equals("") || file.getSize() <= 0) {
            file = null;
        } else {
            InputStream ins = null;
            ins = file.getInputStream();
            toFile = new File(file.getOriginalFilename());
            inputStreamToFile(ins, toFile);
            ins.close();
        }
        return toFile;
    }
    
    //获取流文件
    private void inputStreamToFile(InputStream ins, File file) {
        try {
            OutputStream os = new FileOutputStream(file);
            int bytesRead = 0;
            byte[] buffer = new byte[8192];
            while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {
                os.write(buffer, 0, bytesRead);
            }
            os.close();
            ins.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    

    第三种场景就是取出数据展示给前端,将数据库BLOB类型字段用byte[]类型取出然后转成String类型提供给前端展示就行

    public R selectFunctionVo(String parentId) {
        List<TblScmFunction> tblScmFunctions = functionService.selectFunctionVo(parentId);
        tblScmFunctions.forEach(tblScmFunction -> {
            if(null != tblScmFunction.getImage()){
                byte[] imageByte = tblScmFunction.getImage();
                String image  = Base64Utils.encodeToString(imageByte);
                tblScmFunction.setImageString(image);
            }
        });
        return R.ok(tblScmFunctions);
    }
    
    展开全文
  • ![图片说明](https://img-ask.csdn.net/upload/201611/21/1479737666_111563.png) 怎么实现他的输出
  • 数据库用MYSQL,图片字段为longblob ,数据库联接用的是UNIDAC控件 数据表 db_zp bm char(19) //编号,唯一值 zp longblob //图片 var bh,filename:string; fimage:TMemoryStream; begin //打开图片...
  • 我新建了一个数据库,将图片类型设置成String类型,和其他数据一起存入数据库 我想问下怎么在其他类中把进去的图片显示出来
  • //保存 private void button1_Click(object sender, EventArgs e) { ... MemoryStream ms = new MemoryStream();... richTextBox1.SaveFile(ms, RichTextBoxStreamType.RichText);... bool boo= SqlHelper....
  • 以这样到SQL数据库里面,然后该怎么把他从数据库里面取出来,加载到listview里面呢? 我这样写图片也是显示不出来 <code> photo.setImageBitmap(BitmapFactory.decodeFile(list.typeimageId)...
  • 如题,数据库位mysql。字符还是二进制。直接好像不行啊
  • 图片是上传好的数据库里,我是想按编辑按钮的时候从数据库取出来再初始化到webuploader里预览出来
  • 数据库取base64位码的文本怎么取比较快 或者在之前把图片处理小
  • 现在我要把这个属性的值数据库的字段Photo(类型Image)中。 但是这个属性可能为null,于是这样判断: public static object GetNull(object value) { if (value == null) { return value = DBNull....
  • 我也百度过相关的问题,但都不是能很好的解决![图片说明](https://img-ask.csdn.net/upload/201906/17/1560741022_33699.png)!...这样明显是只能把图片的名字数据库里面,有没有好的解决方法,萌新求助
  • ![图片说明](https://img-ask.csdn.net/upload/201906/26/1561516385_405853.png) 如图,图片怎么存数据库啊,完全没思路
  • 我用文件框上传图片 ``` <tr><td height="30">图片:</td><td>;...是不是图片进就已经有问题,譬如图片的路径是D:\wamp\www\sex\photo\2.jpg,但数据库里的路径是D:\wamp\tmp\phpFE3.tmp,怎么不一样的?
  • 在web区发了这个帖子,没人鸟我,着急呀~~ http://topic.csdn.net/u/20120527/13/356bcf6b-1fa6-4d16-ae39-489f2019d4f4.html
  • 一、前台脚本实现图片上传之前的预览效果 @using (Html.BeginForm("SaveImg", "Test", FormMethod.Post, new { enctype = "multipart/form-data", id = "filefrm" })) @*一定要记得加enctype = "multipart/form-...

    一、前台脚本实现图片上传之前的预览效果

    @using (Html.BeginForm("SaveImg", "Test", FormMethod.Post, new { enctype = "multipart/form-data", id = "filefrm" }))
    @*一定要记得加enctype = "multipart/form-data"属性否则不能在后台获取到*@
    {
        
            value="上传" />
    }
     
        这里是预览图片
    这里是实现上传之后的图片
    @if (false)
        
    }
     
        $(document).ready(function () {
            $("#submit").click(function (e) {
                var $file = $("#uploadfile");
                var filename = $file.val(), index, ext;
                if (filename.length === 0) { alert("请选择要上传的文件"); e.preventDefault(); return false; }
                index = filename.lastIndexOf('.');
                ext = filename.substring(index + 1, filename.length);
                if (ext !== "gif" && ext !== "jpeg" && ext != "png" && ext != "jpg") {
                    alert("上传的文件格式不正确!");
                    e.preventDefault();
                    return false;
                }
            });
            $("#uploadfile").change(function () {
                ShowImg(this);
            });
        });
        function ShowImg(obj) {    //上传之前先进行图片的预览
     
            var browserVersion = window.navigator.userAgent.toUpperCase(); //浏览器版本信息 
            if (obj) {
                //ie  
                if (window.navigator.appName == "Microsoft Internet Explorer") {//ie浏览器
                    if (browserVersion.indexOf("MSIE 6.0") > -1) {//ie6
                        $("#preview").attr("src", obj.value);
                    } else {//ie7、ie8、ie9未测试
                        //if(browserVersion.indexOf("MSIE 7.0")>-1 || browserVersion.indexOf("MSIE 8.0")>-1 ||browserVersion.indexOf("MSIE 9.0")>-1)
                        //滤镜实现
                        obj.select();
                        var newPreview = document.getElementByIdx_xx_x("divNewPreview");
                        if (newPreview == null) {
                            newPreview = document.createElement_x_x("div");
                            newPreview.setAttribute("id", "divNewPreview");
                            newPreview.style.width = "170";
                            newPreview.style.height = "160";
                            newPreview.style.border = "solid 1px #d2e2e2";
                        }
                        newPreview.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale',src='" + document.selection.createRange().text + "')";
                        $("#divPreview").attr("style", "display:none");
                        $("#divPreview").after(newPreview);
                    }
                }
                //firefox  
                else if (window.navigator.userAgent.indexOf("Firefox") >= 1) {
                    var firefoxVersion = parseFloat(window.navigator.userAgent.toLowerCase().match(/firefox\/([\d.]+)/)[1]);
                    if (obj.files) {
                        //return window.URL.createObjectURL(obj.files[0]);
                        if (firefoxVersion < 7) {//firefox7.0以下版本
                            $("#preview").attr("src", obj.files[0].getAsDataURL());
                        } else {//火狐7.0以上版本
                            $("#preview").attr("src", window.URL.createObjectURL(obj.files[0]));
                        }
                    }
                }
                else if (obj.files) {
                    //兼容chrome等,也可以兼容火狐,通过HTML5来获取路径                   
                    if (typeof FileReader !== "undefined") {
                        var reader = new FileReader();
                        reader.onload = function (e) { $("#imgHeadPhoto").attr("src", e.target.result); }
                        reader.readAsDataURL(obj.files[0]);
                    } else if ($.browser.safari) {
                        alert("暂时不支持Safari浏览器!");
                    }
                } else {
                    $("#preview").attr("src", obj.value); //其他
                }
     
            }
        } 
    二、后台接收上传的文件进行二进制的形式保存
      [HttpPost]
            public void SaveImg()
            {
     
                HttpPostedFileBase postedfile = Request.Files["uploadfile"];
                if (postedfile.ContentLength > 0)
                {
                    int len = postedfile.ContentLength;
                    string contentType = postedfile.ContentType;
                    byte[] bytes = new byte[len];
                    Stream obj = postedfile.InputStream;
                    obj.Read(bytes, 0, len);
                    obj.Close();
                    Test test = new Test();
                    if (test.AddPicture(bytes, contentType, len) > 0)
                    {
                        Response.Write("Y");
                    }
                    else
                    {
                        Response.Write("N");
                    }
                }
                else
                {
                    Response.Write("N");
                }
            }
     public int AddPicture(byte[] bytes, string contentType, int size)
            {
                string sqlStr = string.Format("INSERT INTO PicTable(Picture,ContentType,ImageSize) VALUES(@pic,@type,@size)");
                using (SqlConnection con = new SqlConnection())
                {
                    con.ConnectionString = "server=.;database=test;Trusted_Connection=true;";
                    SqlCommand cmd = con.CreateCommand();
                    cmd.CommandText = sqlStr;
                    cmd.CommandType = CommandType.Text;
                    cmd.Parameters.Add("@pic", SqlDbType.VarBinary, size).Value = bytes;
                    cmd.Parameters.Add("@type", SqlDbType.VarChar, 30).Value = contentType;
                    cmd.Parameters.Add("@size", SqlDbType.Int, 4).Value = size;
                    con.Open();
                    return cmd.ExecuteNonQuery();
                }
     
            }
    三、实现图片的代码
      public void LookImg()
            {
                string sqlStr = string.Format("SELECT Picture,ContentType,ImageSize FROM dbo.PicTable WHERE ImageID={0}",1);
                SqlDataReader reader = SqlHelper.GetSqlDataReader("server=.;database=test;Trusted_Connection=true;", sqlStr, false, null);
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        byte[] bytes = (byte[])reader[0];
                        int len = (int)reader[2];
                        string contenType = (string)reader[1];
                        MemoryStream ms = new MemoryStream(bytes,0,len);
                        Response.ContentType = contenType;
                        ms.WriteTo(Response.OutputStream);
                    }
                }
            }

    转载于:https://www.cnblogs.com/ziye16888/archive/2013/05/22/3092106.html

    展开全文
  • ![图片说明](https://img-ask.csdn.net/upload/201806/09/1528515031_805599.png)![![图片说明]...headertext没有关联数据库 因为我只要输入 不要读取
  • $path="./upfiles/"就是图片要保存的目录,这里我只能用相对路径,用绝对路径"/upfiles/"会报错,找不到路径,然后数据库里面保存的路径也会是相对路径,我想着在存库的时候转成绝对路径的格式,请问大佬们,该怎么...
  • bootstrap有一个可视化在线编辑器,上传图片怎么图片路径数据库
  • 这里显示的是一个图片,是数据库content字段里图片中的其中一张,我想把它也显示出来应该怎么显示,用的thymeleaf模板 ![图片说明](https://img-ask.csdn.net/upload/202006/18/1592470850_945073.png) 这是...
  • 商品详细信息包括多张图片怎么存数据库的,一个字段存入多张图片地址?文章是怎么存数据库的?因为一般页面文章还有格式的,比如空格、换行、隔一行.....是把一堆文字放到数据库某个字段,还是把文章的带有html...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 230
精华内容 92
关键字:

数据库怎么存图片