我是 mqtt 新手。我正在启动一个 ActiveMQ 服务器并创建一个 Java Spring Consumer 来处理请求。我成功地从终端发布了一条短信并使用 Spring Consumer 进行了处理。接下来,我需要通过 mqtt 发送图像文件。我有一些问题:
- 是否可以使用 mqtt 发送图像文件?
- 如何使用我的 Spring Consumer 接收文件?
这是我用于消费 mqtt 短信的 java 代码:
public void onMessage(Message message) {
if (message instanceof BytesMessage) {
BytesMessage bm = (BytesMessage) message;
byte data[];
data = new byte[(int) bm.getBodyLength()];
bm.readBytes(data);
String msgText = new String(data);
}
}
这是我发送文件的代码:
mosquitto_pub -d -t test -f /home/abdulmanaf/Pictures/1.png
最佳答案
发送文件的代码:
mosquitto_pub -d -t test -f /home/abdulmanaf/Pictures/1.png
用于接收文件的 Spring Consumer 代码:
if (message instanceof BytesMessage) {
try {
BytesMessage bm = (BytesMessage) message;
byte data[];
data = new byte[(int) bm.getBodyLength()];
bm.readBytes(data);
FileOutputStream fileOuputStream = new FileOutputStream(
"/tmp/hello.png");
fileOuputStream.write(data);
fileOuputStream.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
关于java - 使用 ActimeMQ 和 Spring Consumer 通过 mqtt 发送和接收图像文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33472887/