2016-04-05 10 views
1

Ich möchte alle Dateien/Ordner in einem Verzeichnis in einen S3-Bucket hochladen. Ich möchte alle Dateien in allen Unterverzeichnissen hochladen. Ich dachte daran, TransferUtility dafür zu verwenden. Obwohl der Link here besagt, dass 'Standardmäßig lädt Amazon S3 nur die Dateien im Stammverzeichnis des angegebenen Verzeichnisses. Sie können jedoch angeben, dass Dateien in allen Unterverzeichnissen rekursiv hochgeladen werden. aber ich konnte keinen Weg finden, dies zu tun. Ich konnte keine Eigenschaft finden, wo ich erwähnen könnte, alle Unterverzeichnisse einzuschließen. Ich habe versucht, mit SearchOption = System.IO.SearchOption.AllDirectories und SearchPattern = "*" dies zu erreichen, aber es hochgeladen nur die Dateien im obersten Verzeichnis. Bitte hilf mir dabei. Vielen Dank.Upload-Unterverzeichnis transferutility S3

ich den Code unten verwenden,

TransferUtility directoryTransferUtility = new TransferUtility(s3Client); 

       TransferUtilityUploadDirectoryRequest uRequest = new TransferUtilityUploadDirectoryRequest() 
       { 
        Directory = dirPath, 
        BucketName = bucketName, 
        SearchOption = System.IO.SearchOption.AllDirectories, 
        SearchPattern = "*" 
       }; 

       directoryTransferUtility.UploadDirectory(dirPath, bucketName); 

Antwort

1

Dies ist, was für mich gearbeitet: stelle ich die Optionen auf der UploadDirectory Methode und verwenden "*.*" als Suchmuster.

directoryTransferUtility.UploadDirectory(dirPath, 
              bucketName, 
              "*.*", 
              SearchOption.AllDirectories);