IRPCObjectOperations.UploadFile

View as Markdown

Vault API / core write session or assertion idempotent

Uploads a block of new content for an existing file of an object that is checked out to the caller.

ServiceObjects, versions, properties and files MFiles.IRPCObjectOperations
gRPC method/MFiles.IRPCObjectOperations/UploadFile
HTTP (mf-http-grpc)POST /grpc/v1/upload-file
RequestUploadFileRequest
ResponseUploadFileResponse
Book and levelVault API, core
Kindwrite
SessionRequired: a session (mfiles-session-id-bin metadata) or a session assertion (x-mf-session-assertion metadata).
Idempotentyes
Returns metadata structure versionno
Streamingnone (unary)

Remarks

Works like UploadTempFile: the first call has upload_id 0 and offset 0, later calls pass the returned upload_id. Complete the upload with UploadFileCommit, which replaces the content of the file. To create a new object with files, use UploadTempFile and AddObjectWithFiles instead.

Request: UploadFileRequest

Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page.

FieldTypeDescription
upload_idint320 to start a new upload; the returned ID for the following blocks.
obj_idObjIDThe object that owns the file.
obj_id.typeint32The object type ID, for example 0 for documents. In a lookup value, the value list ID (for a lookup to objects, the object type ID).
obj_id.item_idItemIDThe ID of the object within its type, in item_id.internal_id.
obj_id.item_id.internal_idint32The ID of the object or value list item.
obj_id.item_id.external_repository_idExternalRepositoryIDUsed only for objects in external repositories (external connectors). Leave it unset for objects stored in the vault.
fileFileThe file to replace, as returned for the checked-out version: at least file_ver, and the new size with size_precision FILE_SIZE_PRECISION_EXACT.
file.file_verFileVerThe file and its version. Pass it unchanged in an ObjFileVer to download the file.
file.file_ver.file_idFileIDThe file.
file.file_ver.typeFileVerTypeFILE_VER_TYPE_SPECIFIC for a file version number.Values: FILE_VER_TYPE_UNINITIALIZED (0), FILE_VER_TYPE_LATEST (1), FILE_VER_TYPE_ANY (2), FILE_VER_TYPE_SPECIFIC (3).
file.file_ver.internal_versionint32The file version number.
file.file_ver.external_repository_versionstringUsed only for files in external repositories. Leave empty.
file.file_ver.external_repository_sort_keyint64Used only for files in external repositories. Leave 0.
file.titlestringThe file name without the extension.
file.extensionstringThe file name extension without the dot, for example "pdf".
file.sizeint64The size of the file in bytes. Exact when size_precision is FILE_SIZE_PRECISION_EXACT.
file.size_precisionFileSizePrecisionHow exact size is. Do not rely on size if it is FILE_SIZE_PRECISION_UNKNOWN.Values: FILE_SIZE_PRECISION_EXACT (0), FILE_SIZE_PRECISION_ESTIMATE (1), FILE_SIZE_PRECISION_UNKNOWN (2).
file.created_at_utcgoogle.protobuf.TimestampThe time in UTC the file was originally created.
file.accessed_at_utcgoogle.protobuf.TimestampThe time in UTC the file was last accessed (e.g. read).
file.written_at_utcgoogle.protobuf.TimestampThe time in UTC the file was last written to.
file.changed_at_utcgoogle.protobuf.TimestampThe time in UTC the file was last written to or its attributes were changed.
file.guidstringGUID of the file.
file.md5_checksumstringThe MD5 checksum of the file as 32 lowercase hexadecimal digits, if available.
file.is_missingboolTrue, if the file is missing.
file.is_content_volatileboolTrue, if the file physical content is volatile. I.e. the physical content can change without the version number change, as long as the logical content is same. The file content is guaranteed to stay physically consistent within single download session only.
file.flagsOBJECTFILEFLAGSObject file flags.
file.flags.allboolSpecifies all flags set; Including any future flags.
file.flags.can_be_edited_externallyboolNext available value.
file.master_storage_file_refstringAn optional File reference (GUID) to external Master Storage API. Only used with Master Storage, otherwise empty.
offsetint64The position of this block in the file. Must be 0 in the first call. Use multiples of 4096 bytes for all blocks but the last.
databytesThe bytes of this block.

Response: UploadFileResponse

Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page.

FieldTypeDescription
upload_idint32Receives the identifier of this upload operation.