請注意:Amazon WorkDocs 不再提供新客戶註冊和帳戶升級。在此處了解遷移步驟:如何從 WorkDocs 遷移資料
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
上傳文件
注意
您必須是軟體開發人員,才能完成本節中的步驟。如需有關使用 WorkDocs 上傳檔案的資訊,請參閱 WorkDocs 使用者指南中的上傳檔案。
使用下列程序將文件上傳至 WorkDocs。
若要上傳文件
-
建立
AmazonWorkDocsClient執行個體,如下所示:如果您使用 IAM 使用者登入資料,請參閱 使用 IAM 使用者登入資料和使用者查詢連線至 WorkDocs 。如果您擔任 IAM 角色,請參閱 擔任角色以連線至 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(); -
為上傳取得簽章的 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(); -
使用簽章的 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(); -
變更文件狀態為
ACTIVE以完成上傳程序,如下所示:UpdateDocumentVersionRequest request = new UpdateDocumentVersionRequest(); request.setDocumentId("document-id"); request.setVersionId("document-version-id"); request.setVersionStatus(DocumentVersionStatus.ACTIVE); amazonWorkDocsClient.updateDocumentVersion(request);