微信回复图片

微信回复图片

注意是mediaId,不是messageId;

这个注意了,其他与文本消息一致;

package com.tuling.model;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElements;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement(name="xml")
@XmlAccessorType(XmlAccessType.FIELD)
public class ScanImage {
    @XmlElements({ 
        @XmlElement(name = "Image", type = Image.class) 
    })
    private Integer id;

    @XmlElement(name="ToUserName")
    private String toUserName;

    @XmlElement(name="FromUserName") 
    private String fromUserName;

    @XmlElement(name="CreateTime") 
    private Integer createTime;

    @XmlElement(name="MsgType") 
    private String msgType;

    @XmlElement(name="Event") 
    private String event;

    @XmlElement(name="EventKey") 
    private String eventKey;

    @XmlElement(name="Content")
    private String content;

    @XmlElement(name="MsgId")
    private String msgId;

    @XmlElement(name="Latitude")
    private String latitude;

    @XmlElement(name="Longitude")
    private String longitude;

    @XmlElement(name="Precision")
    private String myPrecision;
    
    @XmlElement(name="Image", type=Image.class)
    private Image mediaId;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getToUserName() {
        return toUserName;
    }

    public void setToUserName(String toUserName) {
        this.toUserName = toUserName;
    }

    public String getFromUserName() {
        return fromUserName;
    }

    public void setFromUserName(String fromUserName) {
        this.fromUserName = fromUserName;
    }

    public Integer getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Integer createTime) {
        this.createTime = createTime;
    }

    public String getMsgType() {
        return msgType;
    }

    public void setMsgType(String msgType) {
        this.msgType = msgType;
    }

    public String getEvent() {
        return event;
    }

    public void setEvent(String event) {
        this.event = event;
    }

    public String getEventKey() {
        return eventKey;
    }

    public void setEventKey(String eventKey) {
        this.eventKey = eventKey;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getMsgId() {
        return msgId;
    }

    public void setMsgId(String msgId) {
        this.msgId = msgId;
    }

    public String getLatitude() {
        return latitude;
    }

    public void setLatitude(String latitude) {
        this.latitude = latitude;
    }

    public String getLongitude() {
        return longitude;
    }

    public void setLongitude(String longitude) {
        this.longitude = longitude;
    }

    public String getMyPrecision() {
        return myPrecision;
    }

    public void setMyPrecision(String myPrecision) {
        this.myPrecision = myPrecision;
    }

    public Image getMediaId() {
        return mediaId;
    }

    public void setMediaId(Image mediaId) {
        this.mediaId = mediaId;
    }
}
package com.tuling.model;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Image {
    
    @XmlElement(name="MediaId")
    private String mediaId;

    public String getMediaId() {
        return mediaId;
    }

    public void setMediaId(String mediaId) {
        this.mediaId = mediaId;
    }
    
    

}

controller中

    // 回复图片消息
    private Object imageMessage(Scan scan) {
        ScanImage reply = new ScanImage();
        reply.setToUserName(scan.getFromUserName());
        reply.setFromUserName(scan.getToUserName());
        reply.setCreateTime((int) (Calendar.getInstance().getTimeInMillis() / 1000) );
        reply.setMsgType("image");
        Image image =  new Image();
        image.setMediaId(scan.getMediaId());
        reply.setMediaId(image);
        System.out.println("$$$$$$$$$$$$$$$$$IMAGE_MESSAGE$$$$$$$$$$$$$$$$$$$$$$$");
        return reply;
    }
原文地址:https://www.cnblogs.com/stono/p/6674091.html