我正在做我的最后一年项目,我需要发送一个JSON,它将一个文件附加到MQTT代理,它只能以字节数组格式发布。如果我使用.toString().getByte()
,则文件数据将丢失。
JSONObject json = new JSONObject();
json.put("command", "123");
json.put("reserve","123");
json.put("file", fullyReadFileToBytes(file));
MqttMessage message2 = new MqttMessage(json.toString().getBytes("utf-8"));
mqttAndroidClient.publish(subscriptionTopic,message2 );
我该如何发送?
答案 0 :(得分:0)
我尝试这种编码,它可以发送带有字节的文件。
String encoded = Base64.encodeToString(fullyReadFileToBytes(file), Base64.DEFAULT);
json.put("file", encoded);
MqttMessage message2 = new MqttMessage(json.toString().getBytes("utf-8"));
mqttAndroidClient.publish(subscriptionTopic,message2 );