Java 露天休息,文件上传:无法设置说明和文件名
我正在使用以下代码将文件上载到AlfrescoJava 露天休息,文件上传:无法设置说明和文件名,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
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)