上傳文件 - Amazon WorkDocs

請注意:Amazon WorkDocs 不再提供新客戶註冊和帳戶升級。在此處了解遷移步驟:如何從 Amazon WorkDocs 遷移資料

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

上傳文件

注意

您必須是軟體開發人員,才能完成本節中的步驟。如需有關使用 Amazon WorkDocs 上傳檔案的資訊,請參閱《Amazon WorkDocs 使用者指南》中的上傳檔案

使用下列程序將文件上傳至 Amazon WorkDocs。

若要上傳文件
  1. 建立 AmazonWorkDocsClient 執行個體,如下所示:

    如果您使用 IAM 使用者登入資料,請參閱使用 IAM 使用者登入資料和使用者查詢連線至 Amazon WorkDocs 。如果您擔任 IAM 角色,請參閱 透過擔任角色連線至 Amazon WorkDocs 以取得詳細資訊。

    注意

    為了提高安全性,請盡可能建立聯合身分使用者,而不是 IAM 使用者。

    AWSCredentials longTermCredentials = new BasicAWSCredentials("accessKey", "secretKey"); AWSStaticCredentialsProvider staticCredentialProvider = new AWSStaticCredentialsProvider(longTermCredentials); // Use the region specific to your WorkDocs site. AmazonWorkDocs amazonWorkDocsClient = AmazonWorkDocsClient.builder().withCredentials(staticCredentialProvider) .withRegion(Regions.US_WEST_2).build();
  2. 為上傳取得簽章的 URL,如下所示:

    InitiateDocumentVersionUploadRequest request = new InitiateDocumentVersionUploadRequest(); request.setParentFolderId("parent-folder-id"); request.setName("my-document-name"); request.setContentType("application/octet-stream"); InitiateDocumentVersionUploadResult result = amazonWorkDocsClient.initiateDocumentVersionUpload(request); UploadMetadata uploadMetadata = result.getUploadMetadata(); String documentId = result.getMetadata().getId(); String documentVersionId = result.getMetadata().getLatestVersionMetadata().getId(); String uploadUrl = uploadMetadata.getUploadUrl();
  3. 使用簽章的 URL 上傳文件,如下所示:

    URL url = new URL(uploadUrl); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setDoOutput(true); connection.setRequestMethod("PUT"); // Content-Type supplied here should match with the Content-Type set // in the InitiateDocumentVersionUpload request. connection.setRequestProperty("Content-Type","application/octet-stream"); connection.setRequestProperty("x-amz-server-side-encryption", "AES256"); File file = new File("/path/to/file.txt"); FileInputStream fileInputStream = new FileInputStream(file); OutputStream outputStream = connection.getOutputStream(); com.amazonaws.util.IOUtils.copy(fileInputStream, outputStream); connection.getResponseCode();
  4. 變更文件狀態為 ACTIVE 以完成上傳程序,如下所示:

    UpdateDocumentVersionRequest request = new UpdateDocumentVersionRequest(); request.setDocumentId("document-id"); request.setVersionId("document-version-id"); request.setVersionStatus(DocumentVersionStatus.ACTIVE); amazonWorkDocsClient.updateDocumentVersion(request);