Платформа 3V/Формы/Действия/Выполнение пользовательского действия/Скачивание файла

Материал из 3v-wiki
< Платформа 3V‎ | Формы‎ | Действия‎ | Выполнение пользовательского действия
Версия от 13:53, 20 декабря 2021; A.kazanceva (обсуждение | вклад) (Новая страница: «Атрибут типа Файл имеет следующий вид: <syntaxhighlight lang="JSON" line> { "$type": "FileLinkDto[]", "$values": [ { "file...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Атрибут типа Файл имеет следующий вид:

 1 {
 2   "$type": "FileLinkDto[]",
 3   "$values": [
 4 	{
 5 		"fileId": "b94bd200-ab38-4584-b8ac-0d247c83dd91",
 6 		"fileName": "наименование.jpg",
 7 		"downloadLink": "/api/file/b94bd200-ab38-4584-b8ac-0d247c83dd91",
 8 		"signs": [],
 9 		"uploadDate": "2021-12-20T08:08:05.447Z"
10 	}
11   ]
12 }

Для того, чтобы обратиться к значениям внутри атрибута следует использовать следующую структуру:

1 {
2    "attribute": {
3      "property": "FileId",
4      "discriminator": "FileLinkTransitiveAttributeDefinitionDto",
5      "id": 20
6    }              
7 }

, где property может быть

property
fileId GUID файла
fileName Наименование файла
downloadLink Ссылка для скачивания
signs Подписи файла
uploadDate Дата загрузки

Для того, чтобы скачать файл из справочника требуется настроить выражение, в котором задать идентификатор нужного файла.

 1 {
 2  "expression": "'https://api.3v-cloud.com/filestorage'+If(IsNullOrEmpty([1]), throw('Нет данных'), ValueOf([1], 0))",
 3  "returnFirstParameterValue": false,
 4  "operands": [
 5   {
 6    "dictionaryId": 1069,
 7    "attributeId": null,
 8    "filter": {
 9     "value": {
10      "$type": "System.Int32[], System.Private.CoreLib",
11      "$values": [
12       1
13      ]
14     },
15     "attributeId": null,
16     "attribute": {
17      "discriminator": "OwnAttributeDefinitionDto",
18      "id": 1
19     },
20     "conditionType": "AttributeInCollection",
21     "discriminator": "ValueConditionalDictionaryCardsFilter",
22     "inversion": false,
23     "conditionId": null,
24     "conditionExpressionId": null
25    },
26    "attribute": {
27     "property": "DownloadLink",
28     "discriminator": "FileLinkTransitiveAttributeDefinitionDto",
29     "id": 20
30    },
31    "discriminator": "EntryExpressionByDictionaryRequest",
32    "id": 1,
33    "allowMultipleValues": false
34   }
35  ],
36  "id": 2,
37  "name": "Выражение",
38  "code": null
39 }

Пример настройки можно увидеть здесь