Java 使用套接字发送base64信息
我一直在使用python上的服务器和java上的客户机。我已经用java将一张图片从客户机发送到python服务器,并将其编码为base64,并将其以blob格式保存在sql表中。我的问题是:如何从java获得整个代码?我目前所做的不起作用 以下是我用python保存图片的方式: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
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");
}}