Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用套接字发送base64信息_Java_Python_Sockets_Base64 - Fatal编程技术网

Java 使用套接字发送base64信息

Java 使用套接字发送base64信息,java,python,sockets,base64,Java,Python,Sockets,Base64,我一直在使用python上的服务器和java上的客户机。我已经用java将一张图片从客户机发送到python服务器,并将其编码为base64,并将其以blob格式保存在sql表中。我的问题是:如何从java获得整个代码?我目前所做的不起作用 以下是我用python保存图片的方式: with open("test.png", "rb") as f: data1 = f.read() data1.encode("base64") name1="Michael"# this is t

我一直在使用python上的服务器和java上的客户机。我已经用java将一张图片从客户机发送到python服务器,并将其编码为base64,并将其以blob格式保存在sql表中。我的问题是:如何从java获得整个代码?我目前所做的不起作用

以下是我用python保存图片的方式:

with open("test.png", "rb") as f:
   data1 = f.read()
   data1.encode("base64")
   name1="Michael"# this is the user
with con:
      cur = con.cursor()
      cur.execute("INSERT INTO Pictures VALUES (%s, %s )",(name1, data1))
这是我发送照片的方式:

   cur.execute("SELECT Pictures FROM Pictures where Users=%s",(name))#this is getting the encoded info
   rows=cur.fetchall()
   row_exist = int(cur.rowcount)
   if row_exist!=0:
     for row in rows:
         img=row["Pictures"]
         img.decode('base64')
         clientsock.send("About to send image\n")
         clientsock.sendall(img)
         clientsock.send("Something\n")
客户端中的代码:(java):

我应该用Java写什么才能发送图片?我真的不确定如何为base64类型的信息找到合适的缓冲区。我曾尝试使用字符串“something”解决一些问题,但我的解决方案失败

我知道我以前也发过类似的问题,但我从来没有得到一个正确的答案。
(如果您还可以在Java中添加转换为图像文件,我将非常感谢)

“/home/michael/Pictures/Someshit.jpg”
-我无法想象您上次为什么没有得到正确的响应^^。@TimBiegeleisen:这是一个非常有效的图片名称。以不同的方式命名对问题没有任何影响。但是如果有任何帮助的话,他当然可以把它改成
somekittens.jpg
。openCV将图片编码为矩阵,并且有Java和Python的API。哈哈哇,对不起,我没有注意到。boardrider-你能给我一些基本的代码吗?
    DataInputStream in = new DataInputStream(new BufferedInputStream(socket.getInputStream()));
    FileOutputStream writer= new FileOutputStream("/home/michael/Pictures/Somepic.png");
    while ((servMes=in.readLine())!=null)
    { 

     if (servMes.equals("About to send image"))


     { 
         System.out.println("entered");


     }}