首先把字节流转换为字节流
使用InputStreamReader类封装InputStream----一个字节输入流,封装进一个面向字符的流;
它有两个构造函数:
InputStreamReader(InputStream in)
InputStreamReader(InputStream in,String encode)
然后就是把转换后的字符流转入StringBuffer
转成字符串
存入数据库!
原理是这样,具体我在查一下api

解决方案 »

  1.   

    出错的原因,可能是你的sql server的那个字段长度有问题。,
      

  2.   

    你的sqlserver下image字段是什么类型 的呢?如果是binary的,好像只能采取rs.updateBinaryStream()的方法。记不太清了,你可以查一下这方面的资料。
      

  3.   

    低手勿入 呵呵 怪不得没人理你
    鄙视你一下,是高手还问
    ----------------------------------------------------------
    只是希望有个高手能回答,无它意 :)HITZXL(编程要厚道) 
    ---------
    图片流应该是byte流而不是char流吧
    但存入数据库时应该是类似00343242052550a000d03000f0000000000000000234c00000000的. ho~ho
      

  4.   

    :yangjuanli(珂儿) 
      mssql有image,binary,varbinary类型,我设成image,当然binary也可rs.updateBinaryStream()最终也会转成字流串的,rs也要向database提交更新,如果你用的是ms sql,在事件探查器可看到
    只是不知如何转换~~~~~~~~~~~~~~~
      

  5.   

    图片读上来是要用InputStream的具体子类获取,是对于字节和二进制对象的
    而你的目的要转换为字符串使用sql语句存入
    当然的想办法把字节或二进制流转成字符或字符串流,才能得到字符串
    就是按我上面所说来做,应该没问题!
    不过在读取,显示图片时还得再次转换
    字符串流向二进制流转换用OutPutStreamWriter转换
      

  6.   

    图片流是unsigned的,byte流是signed的,ms sql存的是16进制的,不好办呀
      

  7.   

    你把图片转成byte[]组成字符串存入数据库,用的时候在取出字符串还原不用行了,
      

  8.   

    Iambest(为了好生活,前进) (String strfp=new String(bfp)的不行
    ms sql提示出错:我也想,但如果字符串有很多空格,更新时会截掉
      

  9.   

    我是把文件读成一个字符串,把字符串存进去。不用byte转化,不用二进制流都可以