0
0

More than 3 years have passed since last update.

Drive KitでデータをファイルとしてHUAWEI Driveにアップロードする方法

Posted at

HUAWEI Driveへのファイルアップロード手順

  1. HUAWEI Driveに接続する
  2. 親フォルダのオブジェクトを取得/生成する
  3. com.huawei.cloud.services.drive.model.Fileオブジェクトを作る
  4. ファイル名、mimeType、親フォルダを設定する
  5. InputStreamを指定し、HUAWEI Driveのファイルアップロードリクエストを実行する

注意点
1. アップロード先にすでに同じファイル名のファイルが存在する場合、アップロード先のファイル名が勝手に{ファイル名}(次の番号).{拡張子}に置き換わります。

サンプル

private var drive: Drive? = null

fun saveBuffer(driveFilename: String, folderName: String, isApplicationData: Boolean, inputStream: InputStream, inputStreamLength: Long, mimeType: String): com.huawei.cloud.services.drive.model.File? {
    drive?.let { drive ->
        // ドライブにフォルダを作成
        var directoryCreated = getFile(folderName, true, isApplicationData)
        if (null == directoryCreated) {
            directoryCreated = createFolder(folderName, isApplicationData)
        }

        directoryCreated?.let { directoryCreated ->
            // 既存ファイルを削除
            val oldFile = getFile(driveFilename, false, isApplicationData)
            if (null != oldFile) {
                deleteFile(oldFile)
            }

            // 中身をアップロード
            val streamContent = InputStreamContent(mimeType, inputStream).apply {
                length = inputStreamLength
            }

            val content = com.huawei.cloud.services.drive.model.File()
                .setFileName(driveFilename)
                .setParentFolder(listOf(directoryCreated.id))

            val request = drive.files().create(content, streamContent)
            return request.execute()
        }
    }

    return null
}

GitHub

HMS Drive Kit Demo : https://github.com/Rei2020GitHub/MyPublicProject/tree/master/DriveKitDemo

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0