簡體   English   中英

如何將文件上傳到Google雲端硬盤

[英]How to upload a file to Google Drive

所以我試圖從我正在創建的Android應用程序上傳文本文件到我的谷歌驅動器。 我學會了如何從Google教程上傳圖片。 另外,我將在文本文件中使用我的應用程序中的字符串。 可能,我想把它變成一個電子表格。 有幫助嗎?

我花了這么多時間......在我看來,文檔.....不是那么好。

這是REST API v3應該如何完成的。 MULTIPART UPLOAD示例

1.第一步 - 使用METADATA創建JSON

例如:

data class RetrofitMetadataPart(
    val parents: List<String>, //directories
    val name: String //file name
)

現在創建一個JSON(我用過moshi)

val jsonAdapter = moshi.adapter<RetrofitMetadataPart>(RetrofitMetadataPart::class.java)

val metadataJSON = jsonAdapter.toJson(
    RetrofitMetadataPart(
        parents = listOf("yourFolderId"), 
        name = localFile.name
    )
)

當然,您可以使用不同的參數,值以及您首選的方式創建此元數據。 您在此處擁有的完整元數據參數列表: https//developers.google.com/drive/api/v3/reference/files/create

2.第二步 - 使用METADATA創建Multipart

我們用合適的標題創建我們請求的第一部分

val metadataPart = MultipartBody.Part.create(
    RequestBody.create(MediaType.parse("application/json; charset=utf-8"), metadataJSON)
)

3.第三步 - 使用您的文件創建Multipart

使用file創建請求的第二部分

val multimediaPart = MultipartBody.Part.create(
    RequestBody.create(MediaType.parse("image/jpeg"), localFile)
)

4.第四步 - 呼叫請求

googleDriveApi.uploadFileMultipart(
    metadataPart,
    multimediaPart
)

並且這個調用

@Multipart
@POST("upload/drive/v3/files?uploadType=multipart")
fun uploadFileMultipart(
    @Part metadata: MultipartBody.Part,
    @Part fileMedia: MultipartBody.Part
): Completable

通過發送這兩個Multiparts,您可以自動獲得文檔中的--foo_bar_baz標記

“使用邊界字符串標識每個部分,前面有兩個連字符。此外,在最后的邊界字符串后添加兩個連字符。”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM