通过socket在android和nosejs之间发送文件
Send files between android and nosejs through socket
我正在尝试构建一个应用程序,在android客户端和node-js服务器之间传输文件。我设法从android客户端发送了一个图像,但我想用nodejs服务器接收它。我试过这个:
socket.on("image", function (image) {
console.log(" image réçu : " +image)
});
但这对我不起作用。我该如何解决这个问题。
Android->服务器
安卓:
File file = new File("/path/image.jpeg");
try {
FileInputStream fis = new FileInputStream(file);
byte imgByte[] = new byte[(int) file.length()];
fis.read(imgByte);
//convert byte array to base64 string
String img64 = Base64.encodeBase64URLSafeString(imgByte);
//send img64 to socket.io servr
} catch (Exception e) {
//
}
服务器:
socket.on("image", function (image) {
console.log(" image réçu : " +image)
//use fs.writeFile
image = image.replace(/^data:image'/png;base64,/, "");
require("fs").writeFile("out.png", image, 'base64',function(err) {
console.log(err);
});
});
服务器->Android
服务器:
fs.readFile("/img/your_img_in_server.jpeg", function(err, data){
var img64 = new Buffer(data, 'binary').toString('base64')
socket.emit("send_img", img64)
})
安卓:
socket = IO.socket("http://localhost");
socket.on("send_img", new Emitter.Listener() {
@Override
public void call(Object... args) {
String data = (String) args[0];
byte[] b = Base64.decode(data,Base64.DEFAULT);
//your bitmap data
Bitmap bmp = BitmapFactory.decodeByteArray(b,0,b.length);
}
});
socket.connect();
fs-api:https://nodejs.org/api/fs.htmlhttps://github.com/socketio/socket.io-client-java
这些应该是工作(我没有测试代码)。
相关文章:
- 如何使用Node.js在JavaScript模块文件之间使用事件处理程序
- 是否可以缓存可下载的文件,并在XHR和非XHR请求之间共享该缓存
- 我如何知道js文件之间的javascript应用程序代码流
- 为什么当我在带有锚点的页面之间移动时,Rails不重新加载我的javascript文件
- 什么's使用脚本标记调用文件和ajax之间的区别
- Chrome审核:在外部CSS文件之间的头中发现了1个内联脚本块&”;
- 如何在Famo.us中的两个视图(不同的js文件)之间进行通信
- 如何将json文件中的数据提取到对象数组中,并在两个控制器之间共享
- 关于node.js/javascript在文件之间共享变量
- 我可以在两个javascript文件之间传递一个字符串吗?
- 使用 JQuery 读取二进制文件的浏览器之间的不同行为
- 什么's是处理多个js文件之间交互的简单方法,同时避免溢出全局变量
- 如何使用WebRTC在两个浏览器之间传输文件
- 文件之间的Javascript变量
- MVC视图文件_Layout.cshtml中头部和主体的Render Bundles之间的差异
- 共享'这'文件之间
- 节点模块和常规javascript文件之间的区别是什么
- 在2js文件之间共享值
- 模块化nodejs中文件之间的函数
- 通过socket在android和nosejs之间发送文件