Я пытаюсь загрузить файл в Alfresco WS restful, используя следующую команду:
C:\Users\user>curl -v -k -X POST --user admin:admin -F filedata=C:/temp/wpapper.pdf -F siteid=documents -F containerid=documentLibrary -F uploaddirectory=PUBLIC -F filename=wpapper.pdf -F contenttype="application/pdf" http://10.1.1.55:8080/alfresco/service/api/upload
Note: Unnecessary use of -X or --request, POST is already inferred.
* Trying 10.1.1.55...
* Connected to 10.1.1.55 (10.1.1.55) port 8080 (#0)
* Server auth using Basic with user 'admin'
> POST /alfresco/service/api/upload HTTP/1.1
> Host: 10.1.1.55:8080
> Authorization: Basic Z2xvbWFyb246c2VxMDk4
> User-Agent: curl/7.46.0
> Accept: */*
> Content-Length: 715
> Expect: 100-continue
> Content-Type: multipart/form-data; boundary=------------------------5ee452c8955311dc
>
< HTTP/1.1 100 Continue
< HTTP/1.1 400 Bad Request
< Server: Apache-Coyote/1.1
< Cache-Control: no-cache
< Expires: Thu, 01 Jan 1970 00:00:00 GMT
< Pragma: no-cache
< Content-Type: application/json;charset=UTF-8
< Content-Length: 362
< Date: Wed, 18 May 2016 14:03:47 GMT
< Connection: close
<
{
"status" :
{
"code" : 400,
"name" : "Bad Request",
"description" : "Request sent by the client was syntactically incorrect."},
"message" : "Required parameters are missing",
"exception" : "",
"callstack" :
[
],
"server" : "Community v5.1.0 (r122274-b3) schema 9.016",
"time" : "18/05/2016 10:03:47"}
* Closing connection 0
Руководство Alfresco для загрузки файлов:
Загрузить содержимое файла и метаданные в хранилище.
POST /alfresco/service/api/upload
Данные формы HTML
- filedata, (обязательный) файл типа HTML
- Вы должны указать один из:
- пункт назначения (папка NodeRef, где будет создан узел)
- updateNodeRef (NodeRef существующего узла, который будет обновлен)
- siteid и containerid (имя сайта и контейнер на этом сайте>, где будет создан документ).
- uploaddirectory — имя папки (в контейнере сайта или в месте назначения), куда будет загружен документ. Эта папка уже должна существовать
- description — описание для обновления версии (versionDescription)
- contenttype — тип контента, для которого этот документ должен быть специализирован
- MajorVersion
- затирать
- эскизы
Вернуться содержание
- nodeRef
Статус возврата: STATUS_OK (200)
В документе описания веб-сценария указываются следующие параметры:
_________________________________________ Value ------ Description ___________________________________________ json -------> The default response format user -------> The authentication access required ---> The transaction level any The format style ___________________________________________
PS .: каталог «PUBLIC» и сайт «документы» уже существует.
Одним из подходов к этому может быть загрузка файла через Share с использованием Chrome с открытыми инструментами разработчика. На вкладке Сеть -> XHR вы увидите запрос на загрузку, а затем щелкните правой кнопкой мыши и выберите «Копировать как cURL». Затем вы можете вставить команду cURL и адаптировать ее при необходимости.
Других решений пока нет …