Java 露天休息,文件上传:无法设置说明和文件名

Java 露天休息,文件上传:无法设置说明和文件名,java,rest,http,alfresco,Java,Rest,Http,Alfresco,我正在使用以下代码将文件上载到Alfresco CloseableHttpClient client=HttpClients.createDefault(); HttpPost postMethod=new HttpPost(AlfrescoRequests.getUploadRequest()+"?alf_ticket="+DocumentUno.alFrescoSessionTicket.replace("\"", "")); System.out.println(Alfre

我正在使用以下代码将文件上载到Alfresco

CloseableHttpClient client=HttpClients.createDefault();
    HttpPost postMethod=new HttpPost(AlfrescoRequests.getUploadRequest()+"?alf_ticket="+DocumentUno.alFrescoSessionTicket.replace("\"", ""));
    System.out.println(AlfrescoRequests.getUploadRequest()+"?ticket="+DocumentUno.alFrescoSessionTicket.replace("\"", ""));
    MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.RFC6532);

    reqEntity.addPart("filedata", new FileBody(file));

    reqEntity.addPart("alt_destination",new StringBody("workspace://SpacesStore/9a37fce5-2715-4730-a245-64f161304879"));
    reqEntity.addPart("filename",new StringBody("ip_VM1985.txt"));

    reqEntity.addPart("description", new StringBody("Descrizione del file"));

    postMethod.setEntity(reqEntity);

    System.out.println("executing request " + postMethod.getRequestLine());
    CloseableHttpResponse resp = client.execute(postMethod);
其中AlfrescoRequests.getUploadRequest()提供REST请求URL(查询部分除外)


上传是正确的,我得到一个代码200,但描述没有设置,我不能指定一个文件名,这仍然是原来的文件相同。如果您需要其他详细信息,请告诉我。

不幸的是,
/alfresco/service/api/upload
webscript无法处理元数据。这是户外的一个已知特征。文件名已被处理,但描述(实际上是cm:description属性)与您可能拥有的任何其他标准或自定义属性一样,不会被保存

我相信webscript的
description
参数被用作此API的第一个参数:

ScriptNode checkin(String history, boolean majorVersion)
。。。与文件标题/说明无关

有一个开源插件(我自己编写)通过允许在上传过程中指定任何其他元数据来克服这一限制:


它包括回购放大器和股票放大器。因为您使用的是web服务,所以只需要repo amp。

您能否澄清AlfrescoRequests.getUploadRequest()指的是什么?什么是webscript url?你知道为什么忽略我传递的文件名吗?如果文件名取自原始文件(我理解为纯文本),它肯定是由客户端提供的。可能“newfilebody(file)”正在沿着内容数据传递文件名。
ScriptNode checkin(String history, boolean majorVersion)