我如何将元素添加到具有模型类型的列表中

how do i add elements to a list with model type

我是 java 的新手。我想向列表中添加一个元素。

List<RequestAttachmentDTO> attachments

RequestAttachmentDTO class 在这里,

public class RequestAttachmentDTO {

    byte[] contentStream;
    String fileName;
    String contentType;
    String contentTransferEncoding;


    public RequestAttachmentDTO(byte[] contentStream, String fileName, String contentType) {
        this.contentStream = contentStream;
        this.fileName = fileName;
        this.contentType = contentType;
    }

    public RequestAttachmentDTO(byte[] contentStream, String fileName, String contentType,String contentTransferEncoding) {
        this.contentStream = contentStream;
        this.fileName = fileName;
        this.contentType = contentType;
        this.contentTransferEncoding=contentTransferEncoding;
    }

    public String getFileName() {
        return fileName;
    }

    public String getContentType() {
        return contentType;
    }

    public byte[] getContentStream() {
        return contentStream;
    }

    public String getContentTransferEncoding() {
        return contentTransferEncoding;
    }

}

这是我尝试添加的方式,

String fieldName = item.getFieldName();
            String fiileName = FilenameUtils.getName(item.getName());
            fileContent = item.getInputStream();                
            Path path = Paths.get("/data/uploads/form_urlencoded_simple_decoded_body.txt");
            byte[] data = Files.readAllBytes(path);

            List<RequestAttachmentDTO> attachments = new ArrayList<>();
            attachments.add(data,fieldName,"application/x-www-form-urlencoded");

不接受。

PS:- 文件 item 从 JSP 页面以 multipart/form-data 编码上传。

你能帮我向这个列表中添加元素吗?谢谢。

欢迎来到Java!

目前您没有创建 RequestAttachmentDTO 的对象,为此您需要使用适当的值调用此构造函数 RequestAttachmentDTO(byte[] contentStream, String fileName, String contentType)

因此,要解决此问题,请将此 attachments.add(data,fieldName,"application/x-www-form-urlencoded"); 行更改为 attachments.add(new RequestAttachmentDTO(data,fieldName,"application/x-www-form-urlencoded"));