我无法将数据从Android客户端发送到NodeJs服务器.
我在我的客户端使用Socket.IO-client java库.
但是,对我来说没有太多信息.
如何从androID客户端向nodeJs服务器发送二进制数据?
解决方法:
您可以使用Base64对图像进行编码:
public voID sendImage(String path) { JsONObject sendData = new JsONObject(); try{ sendData.put("image", encodeImage(path)); socket.emit("message",sendData); }catch(JsONException e){ } } private String encodeImage(String path) { file imagefile = new file(path); fileinputStream fis = null; try{ fis = new fileinputStream(imagefile); }catch(fileNotFoundException e){ e.printstacktrace(); } Bitmap bm = BitmapFactory.decodeStream(fis); ByteArrayOutputStream baos = new ByteArrayOutputStream(); bm.compress(Bitmap.CompressFormat.JPEG,100,baos); byte[] b = baos.toByteArray(); String encImage = Base64.encodetoString(b, Base64.DEFAulT); //Base64.de return encImage; }
所以基本上你要向node.Js发送一个字符串
如果你想接收图像只需在Base64中解码:
private Bitmap decodeImage(String data){ byte[] b = Base64.decode(data,Base64.DEFAulT); Bitmap bmp = BitmapFactory.decodeByteArray(b,0,b.length); return bmp;}
总结 以上是内存溢出为你收集整理的如何使用socket.io发送图像文件(二进制数据)?全部内容,希望文章能够帮你解决如何使用socket.io发送图像文件(二进制数据)?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)