用java如何一次性上传多张图片到数据库

用java如何一次性上传多张图片到数据库,第1张

你说的这个问题,其实是表的设计问题。

只要在t_b中,设计列为3列即可。

id

,

t_a_id

,

picture

添加多个,不过是sql、语句。

最简单的办法,是利用for()循环,如:

for(int

i

=

0;i<数;i++){

//你的sql *** 作语句如。

//insert

i

into

t_b

}

分给偶吧。。

^

^!

上传一般考虑两种办法:1、上传到服务器,数据库中存储服务器上的相对路径;2、转换为二进制流存入到数据库中。现在常用的做法都是选择第一种,因为第二种太占数据库空间,而且查找读取效率不高。很多开源的文件上传框架(比如spring中的commons-fileupload)都是采用第一种方式。上传到服务器不会影响系统的运行速度,你可以选择将的目录建立在非系统盘,存储容量比较大的盘,如F盘等。注意名字不要重复,建议用uuid

首先这是一种SB做法,保存到数据库这个很浪费数据库资源, 通常情况下等文件都是用ftp服务器来存储文件的 为什么要用base64进行编码是因为, base64会把文件这个文件转换成字符串, base64编码后得到的是一组字符串, 为什么要用blob类型, 因为这个类型可以存储4GB数据, 数据库中普通的 varchar varchar2 text等类型都有长度的限制

把上传的照片存到服务器下并把路径存入数据库,读取时使用File对象根据数据库内存储的照片路径读取照片。注意from表单的这两个属性enctype="multipart/from-data" method="post"

这种代码网上不是一大片吗

public boolean storeImage(File file){

        try{

            // 打开文件

            FileInputStream fin = new FileInputStream(file);

            // 建一个缓冲保存数据

            ByteBuffer nbf = ByteBufferallocate((int) filelength());

            byte[] array = new byte[1024];

            int offset = 0, length = 0;

            // 读存数据

            while((length = finread(array)) > 0){

                if(length != 1024) nbfput(array,0,length);

                else nbfput(array);

                offset += length;

            }

            // 关闭文件

            finclose();

            // 新建一个数组保存要写的内容

            byte[] content = nbfarray();

            String sql = "insert into images (bin_data) values () ";

            PreparedStatement pstmt = connprepareStatement(sql);

            pstmtsetBytes(1,content);

            pstmtexecute();

            pstmtclose();

        }catch(Exception e){

            eprintStackTrace();

            return false;

        }

        return true;

    }

以上就是关于用java如何一次性上传多张图片到数据库全部的内容,包括:用java如何一次性上传多张图片到数据库、java项目客户上传的图片放到哪好、Java 保存图片到数据库时,为什么要对图片进行base64编码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10131159.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存