Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用resteasy将javascript文件转换为java字节[]_Javascript_Java_File_Upload_Resteasy - Fatal编程技术网

使用resteasy将javascript文件转换为java字节[]

使用resteasy将javascript文件转换为java字节[],javascript,java,file,upload,resteasy,Javascript,Java,File,Upload,Resteasy,我尝试将文件从angularJS前端上传到jboss后台,但在调用服务时,我得到了以下示例: Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of byte[] out of START_OBJECT token at [Source: io.undertow.servlet.spec.ServletInputStreamImpl@1cc8ac9f; lin

我尝试将文件从angularJS前端上传到jboss后台,但在调用服务时,我得到了以下示例:

Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of byte[] out of START_OBJECT token
 at [Source: io.undertow.servlet.spec.ServletInputStreamImpl@1cc8ac9f; line: 1, column: 39] (through reference chain: fr.test.Document["datas"
])

我想当我将javascript文件转换为java字节[]时,可能有问题,但我真的不知道是什么

我通过常规输入type=“file”收集文件:

最后,使用rest服务调用backoffice。这里是我的后台服务声明:

@POST
@Path("/uploadFile")
@Consumes(MediaType.APPLICATION_JSON)
public void uploadFile(Document document) {
    LOGGER.info("upload document !");
}
以及包含相同属性的文档对象:

public class Document {

    private byte[] datas;
    private String name;
    private String type;

    public byte[] getDatas() {
        return datas;
    }
    public void setDatas(byte[] datas) {
        this.datas = datas;
    }
    ...
如果我对控制器(字节部分)中的“ctrl.doc=document;”行进行注释,服务将正常工作

我错过了什么?我真的可以这样发送文件吗

@POST
@Path("/uploadFile")
@Consumes(MediaType.APPLICATION_JSON)
public void uploadFile(Document document) {
    LOGGER.info("upload document !");
}
public class Document {

    private byte[] datas;
    private String name;
    private String type;

    public byte[] getDatas() {
        return datas;
    }
    public void setDatas(byte[] datas) {
        this.datas = datas;
    }
    ...