Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.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
在java中使用Restlet多部分/表单数据上载文件_Java_File Upload_Restlet_Restlet 2.3.1 - Fatal编程技术网

在java中使用Restlet多部分/表单数据上载文件

在java中使用Restlet多部分/表单数据上载文件,java,file-upload,restlet,restlet-2.3.1,Java,File Upload,Restlet,Restlet 2.3.1,因此,我现在搜索了很多示例代码,但唯一找到的是服务器端的示例,即接收部分 我想创建一个应用程序,它使用restlet上传一个文件,内容类型:multipart/formdata。所以我需要发送部分 如何为此创建表单 我尝试了以下方法,但不起作用: public void UploadFile(File f){ Form fileForm = new Form(); fileForm.add(Disposition.NAME_FILENAME, "test.jpg");

因此,我现在搜索了很多示例代码,但唯一找到的是服务器端的示例,即接收部分

我想创建一个应用程序,它使用restlet上传一个文件,内容类型:
multipart/formdata
。所以我需要发送部分

如何为此创建表单

我尝试了以下方法,但不起作用:

public void UploadFile(File f){
    Form fileForm = new Form(); 
    fileForm.add(Disposition.NAME_FILENAME, "test.jpg");
    Disposition disposition = new Disposition(Disposition.TYPE_INLINE, fileForm); 
    FileRepresentation entity = new FileRepresentation(f, MediaType.IMAGE_ALL);  
    entity.setDisposition(disposition);

    FormData fd = new FormData("photo", entity);        
    FormDataSet fds = new FormDataSet();
    fds.setMultipart(true);
    fds.setMediaType(MediaType.MULTIPART_FORM_DATA);
    fds.getEntries().add(fd);

    String url = "http://localhost/uploadFile";
    Optional<JsonRepresentation> opJrep = m_RestClient.postJson(url,fds,MediaType.MULTIPART_FORM_DATA, Optional.empty());

}
public void上传文件(文件f){
表单fileForm=新表单();
add(Disposition.NAME_文件名,“test.jpg”);
处置处置=新处置(Disposition.TYPE_INLINE,fileForm);
FileRepresentation实体=新的FileRepresentation(f,MediaType.IMAGE\u ALL);
实体。处置(处置);
FormData fd=新的FormData(“照片”,实体);
FormDataSet fds=新的FormDataSet();
fds.setMultipart(真);
fds.setMediaType(MediaType.MULTIPART\u FORM\u DATA);
fds.getEntries().add(fd);
字符串url=”http://localhost/uploadFile";
可选opJrep=m_RestClient.postJson(url、fds、MediaType.MULTIPART_FORM_DATA、Optional.empty());
}
使用以下方法发布表单并接收JSON表示(postJson表示post,getJSON返回)


public Optional postJson(字符串url,Object sendObject,MediaType MediaType,Optional我用
FormDataSet
做了一些尝试和错误编程,得到了结果

要使用restlet上载文件(在本例中为图片),必须执行以下操作:

    FileRepresentation entity = new FileRepresentation(file, mediaType); //create the fileRepresentation  

    FormDataSet fds = new FormDataSet(); //create the FormDataSet
    FormData fd = new FormData(key, entity); //create the Formdata using a key and a value (file)       
    fds.getEntries().add(fd); //add the form data to the set
    fds.setMultipart(true); //set the multipart value to true

    String url = "http://localhost/uploadPhoto";
    Optional<JsonRepresentation> opJrep = m_RestClient.postJson(url,fds,MediaType.MULTIPART_FORM_DATA, Optional.empty());
FileRepresentation entity=newfilerepresentation(file,mediaType);//创建FileRepresentation
FormDataSet fds=新建FormDataSet();//创建FormDataSet
FormData fd=新建FormData(键,实体);//使用键和值(文件)创建FormData
fds.getEntries().add(fd);//将表单数据添加到集合中
setMultipart(true);//将multipart值设置为true
字符串url=”http://localhost/uploadPhoto";
可选opJrep=m_RestClient.postJson(url、fds、MediaType.MULTIPART_FORM_DATA、Optional.empty());
此示例使用与问题中所述相同的
postJson
方法

    FileRepresentation entity = new FileRepresentation(file, mediaType); //create the fileRepresentation  

    FormDataSet fds = new FormDataSet(); //create the FormDataSet
    FormData fd = new FormData(key, entity); //create the Formdata using a key and a value (file)       
    fds.getEntries().add(fd); //add the form data to the set
    fds.setMultipart(true); //set the multipart value to true

    String url = "http://localhost/uploadPhoto";
    Optional<JsonRepresentation> opJrep = m_RestClient.postJson(url,fds,MediaType.MULTIPART_FORM_DATA, Optional.empty());