Sharepoint конфликт, поведение не работает, не работает - PullRequest
0 голосов
/ 24 марта 2020

Я пытаюсь настроить sharepoint для выдачи исключения при повторной загрузке существующего имени файла. Я попытался установить @ microsoft.graph.conflictBehavior на неудачу, чтобы сделать это, но мои тесты продолжают терпеть неудачу, потому что не выдается исключение.

Вот функция Kotlin, которую я использую для загрузки документа , Любая помощь с благодарностью!

private fun upload(document: Document): Document {
        val driveItemUploadableProperties = DriveItemUploadableProperties()
        driveItemUploadableProperties.additionalDataManager()["contentType"] = JsonPrimitive(document.blob.contentType())
        driveItemUploadableProperties.additionalDataManager()["@microsoft.graph.conflictBehavior"] = JsonPrimitive("fail")

        val iDriveItemCreateUploadSessionRequest = buildDriveItemRequest(document.path).createUploadSession(driveItemUploadableProperties).buildRequest()
        val uploadSession = retry { refreshToken { iDriveItemCreateUploadSessionRequest.post() } }

        val provider = ChunkedUploadProvider(uploadSession, microsoftGraphClient, ByteArrayInputStream(document.blob.decode()), document.blob.decode().size, DriveItem::class.java)

        provider.upload(listOf(QueryOption("@microsoft.graph.conflictBehavior", "fail")), object : IProgressCallback<DriveItem> {
            override fun progress(current: Long, max: Long) {
                logger.trace { "Upload progress [${document.path}]: $current done of $max." }
            }

            override fun success(result: DriveItem?) {
                document.id = result?.id
                logger.trace { "Upload done [${document.path}]" }
            }

            override fun failure(ex: ClientException?) {
                when {
                    ex is GraphServiceException && ex.responseCode == HttpStatus.CONFLICT.value() -> throw ConflictException(null, ex.message)
                    ex != null -> throw ex
                    else -> error("Failure reported without exception")
                }
            }
        })

        return document
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...