2017-07-25 14 views
1

AWSバケットから.xlsxファイルを抽出しようとしましたが、これを作成してmultipartfile変数として保存しました。私はいろいろなアプローチを試みましたが、せいぜい私は奇妙なキャラクターを獲得します。私はこれを行う方法に関する多くの文書を見つけることはありません。 ありがとう!AWS W3バケットからJavaのMultipartFileにExcelファイルをインポートする方法

+0

試したコードの例をいくつか表示できますか? –

+0

@AndrewRueckertそれはあまりにも多くのハハを投稿するだろう。しかし、最も近いのは、getObjectを使ってS3Objectを取得しようとしたときです。次に、objectContentからBufferedInputStreamを作成します。その後、ループしてバイト[]に読み込み、ファイルを作成するために使用されましたが、作成されたファイルが破損していると正しく表示されませんでした。これはvarとして保存しませんでしたが、ローカルファイルを作成しました。 – Logs

答えて

1
// you may need to initialize this differently to get the correct authorization 
final AmazonS3Client s3Client = AmazonS3ClientBuilder.defaultClient(); 
final S3Object object = s3Client.getObject("myBucket", "fileToDownload.xlsx"); 

// with Java 7 NIO 
final Path filePath = Paths.get("localFile.xlsx"); 
Files.copy(object.getObjectContent(), filePath); 
final File localFile = filePath.toFile(); 

// or Apache Commons IO 
final File localFile = new File("localFile.xlsx"); 
FileUtils.copyToFile(object.getObjectContent(), localFile); 

私は、あなたが「MultipartFile」によって何を意味するか、100%わからない - それは、マルチパートPOSTまたはPUTを経由して、あなたのHTTP Webサービスに送信されていたファイルのコンテキストで通常です。 S3から取得したファイルは、という技術的にの部分で、の応答であり、HTTP GET要求に対してはですが、Amazon Javaライブラリはこれを抽象化して、InputStreamという結果を返します。

+0

パーフェクト!助けてくれてありがとう! – Logs

関連する問題