...
Ścieżka do servletu: api/documents/indexes/{documentClassId}
Metoda: GET
Parametry:
- documentClassId - Id klasy dokuementów( parametr przekazany w ścieżce servlet'u)
Odpowiedź:
- Odpowiedź zawiera listę indeksów.
Dodanie
...
dokumentu
Ścieżka do servletu: api/documents/upload
...
enctype: multipart/form-data
Parametry:
- indexesAsJson (od wersji 4.0.39) - (opcjonalny, true/false) Czy indeksy przekazywane są w formacie JSON (pole indexesJson formularza)
Treść zapytania:
Formularz HTML zawierający definicję dokumentu. Definicja powinna zawierać następujące pole:
- file - Pole typu file
- activityId - Id zadania
- processId - Id procesu
- documentClassId - Id klasy dokumentów
- description - Opis
- newVersion - (true/false) Czy zapisać jako nowa wersja
indexes - (opcjonalny) Wartości indeksów dodawanego dokumentu. Wartości powinny być przekazane zgodnie z typem żądania form-data, czyli w formie
Code Block language js title Przykład prawidłowej wartości pola indexes indexes[1]: "Wartość indeksu o id 1" indexes[3]: "Wartość indeksu o id 3"
indexesJson (od wersji 4.0.39) - (opcjonalny, należy go podawać w połączeniu z parametrem zapytania indexesAsJson=true) Wartości indeksów dodawanego dokumentu. Wartości powinny być przekazane w formacie JSON:
Code Block language js title Przykład prawidłowej wartości pola indexes indexes: { "1": "Wartość indeksu o id 1", "3": "Wartość indeksu o id 3", "11": 234.62, /* Wartość indeksu zmiennoprzecinkowego o id 11 */ "15": false /* Wartość indeksu logicznego o id 15 */ }
Code Block title Przykładowa treść zapytania z programu POSTMAN collapse true POST /PlusWorkflow/api/documents/upload HTTP/1.1 Host: localhost:8080 Cache-Control: no-cache Postman-Token: 4ab6c224-0ea3-9ecc-c8ac-a4823501a54b Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW ------WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="file"; filename="Nowy dokument tekstowy.txt" Content-Type: text/plain ------WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="documentClassId" 1 ------WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="newVersion" false ------WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="indexes[1]" wartosc indeksu o id 1 ------WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="indexes[3]" wartosc indeksu o id 3 ------WebKitFormBoundary7MA4YWxkTrZu0gW--
...
- Odpowiedź zawiera definicję zapisanego pliku
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Ext4.widget('window',{ title:'Nowy dokument', width:500, height:300, autoShow:true, items:[ { xtype:'form', items:[ { xtype:'fileuploadfield', name:'file' },{ xtype:'textfield', value:3, name:'documentClassId' },{ xtype:'textfield', value:processId, name:'processId' },{ xtype:'textfield', value:activityId, name:'activityId' },{ xtype:'textfield', value:123, name:'indexes[1]'//id indeksu z bazy danych },{ xtype:'textfield', value:'wartosc', name:'indexes[4]'//id indeksu z bazy danych } ] } ], buttons:[ { text:'Zapisz', handler:function(){ var form=this.up('window').down('form').getForm(); form.submit({ url:'api/documents/upload' }); } } ] }); |
Tip | ||
---|---|---|
| ||
W przeglądarce InternetExplorer aby wykonać upload pliku serwer musi odpowiedzieć z nagłówkiem Content-Type: text/html. Należy w takim wypadku wywołać żądanie z dodatkowym parametrem: responseAsHtml - true wymusza ustawienie nagłówka Content-Type na text/html |
Dodanie dokumentu (od wersji 4.0.35)
Ścieżka do servletu: api/documents/upload
Metoda: POST
enctype: multipart/form-data
Treść zapytania:
Formularz HTML zawierający definicję dokumentu. Definicja powinna zawierać następujące pole:
- file - Pole typu file
- activityId - Id zadania
- processId - Id procesu
- documentClassId - Id klasy dokumentów
- description - Opis
- newVersion - (true/false) Czy zapisać jako nowa wersja
indexes - (opcjonalny) Wartości indeksów dodawanego dokumentu. Wartości powinny być przekazane w formacie JSON:
Code Block language js title Przykład prawidłowej wartości pola indexes indexes: { "1": "Wartość indeksu o id 1", "3": "Wartość indeksu o id 3", "11": 234.62, /* Wartość indeksu zmiennoprzecinkowego o id 11 */ "15": false /* Wartość indeksu logicznego o id 15 */ }
Code Block | ||||
---|---|---|---|---|
| ||||
POST /PlusWorkflow/api/documents/upload HTTP/1.1
Host: localhost:8080
Cache-Control: no-cache
Postman-Token: 4ab6c224-0ea3-9ecc-c8ac-a4823501a54b
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="file"; filename="Nowy dokument tekstowy.txt"
Content-Type: text/plain
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="documentClassId"
1
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="newVersion"
false
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="indexes"
{ "1": "Wartość indeksu o id 1", "3": "Wartość indeksu o id 3", "11": 234.62, "15": false }
------WebKitFormBoundary7MA4YWxkTrZu0gW-- |
...
- Jeżeli podamy oba parametry, to dokument zostanie dodany do archiwum i podłączony do wskazanego zadania.
- Jeżeli podamy tylko processId, to dokument zostanie dodany do archiwum i podłączony do wskazanego procesu.
- Jeżeli nie podamy żadnego z tych parametrów lub podamy tylko activityId, to dokument zostanie dodany tylko do archiwum.
...
Tip | ||
---|---|---|
| ||
W przeglądarce InternetExplorer aby wykonać upload pliku serwer musi odpowiedzieć z nagłówkiem Content-Type: text/html. Należy w takim wypadku wywołać żądanie z dodatkowym parametrem: responseAsHtml - true wymusza ustawienie nagłówka Content-Type na text/html |
Pobieranie dokumentu
Ścieżka do servletu: api/documents/download/{fileId}
...