Сохраняет файл с содержимым (непривязанный к карточке) для работы с функциональностью ИИ.
Одновременно с добавлением может выполнить указанную операцию над файлом operation (например, извлечение текста или изображений со страницами).
Возвращает статус операции по этому файлу (всегда успешный Completed, если операция не требуется AsIs).
public static Task<AiFileOperationStatus> StoreLooseFileAsync(
this IAiFileService aiFileService,
string name,
Stream contentStream,
AiFileRequestOperation operation = AiFileRequestOperation.AsIs,
CancellationToken cancellationToken = default
)<ExtensionAttribute>
Public Shared Function StoreLooseFileAsync (
aiFileService As IAiFileService,
name As String,
contentStream As Stream,
Optional operation As AiFileRequestOperation = AiFileRequestOperation.AsIs,
Optional cancellationToken As CancellationToken = Nothing
) As Task(Of AiFileOperationStatus)public:
[ExtensionAttribute]
static Task<AiFileOperationStatus^>^ StoreLooseFileAsync(
IAiFileService^ aiFileService,
String^ name,
Stream^ contentStream,
AiFileRequestOperation operation = AiFileRequestOperation::AsIs,
CancellationToken cancellationToken = CancellationToken()
)[<ExtensionAttribute>]
static member StoreLooseFileAsync :
aiFileService : IAiFileService *
name : string *
contentStream : Stream *
?operation : AiFileRequestOperation *
?cancellationToken : CancellationToken
(* Defaults:
let _operation = defaultArg operation AiFileRequestOperation.AsIs
let _cancellationToken = defaultArg cancellationToken new CancellationToken()
*)
-> Task<AiFileOperationStatus> Используйте перегрузку StoreLooseFileAsync(IAiFileService, String, IFileContent, AiFileRequestOperation, CancellationToken), если отсутствует потребность в том, чтобы поток с содержимым Stream не освобождался. Однако, в контроллере при получении потока из тела запроса используйте текущий метод.
Если такой же файл уже существует (по хеш-сумме содержимого contentStream), то он не добавляется.
Если по файлу уже выполняется операция operation, то возвращает статус операции.