我要把图片文件发送,但是只能以二进制格式传送,要把文件的二进制内容放入一个字符串中进行发送,我不知道怎么转换???????大家快帮帮我吧!

解决方案 »

  1.   

    给你一个例子,是如何把图片转为二进制格式的<%@  page  language="java"%>
    <%@  page  contentType="text/html;charset=gb2312"  %>
    <%@  page  import="java.util.*"  %>
    <%@  page  import="java.sql.*"%>
    <%@  page  import="java.text.*"%>
    <%@  page  import="java.io.*"%>
    <%
    Class.forName("oracle.jdbc.driver.OracleDriver");
    String  url="jdbc:oracle:thin:@172.16.34.4:1521:frerp";
    Connection  con=DriverManager.getConnection(url,"aa","bb");//插入数据库
    String  sql="insert  into  test_img  values  (?,?,?)";
    //获取传值ID
    String  id=request.getParameter("id");
    //获取image的路径
    String  kk=request.getParameter("image");
    //转换成file格式
    java.io.File  filename=new  java.io.File(kk);//将文件的长度读出,并转换成Long型
    long  l1=filename.length();
    int  l2=(int)l1;//以流的格式赋值
    FileInputStream  fis=new  FileInputStream(filename);
    PreparedStatement  ps  =con.prepareStatement(sql);
    ps.setString(1,id);
    ps.setString(2,filename.getName());
    ps.setBinaryStream(3,fis,12);
    //ps.setBinaryStream(3,fis,fis.available());
    ps.executeUpdate();
    //ps.execute();
    ps.close();
    fis.close();
    con.close();
    out.println("ok!!!");
    %>