Frage

Referenzen:

Mit dem „glücklich“ Namen, ich meine die echten Namen der Datei Ich bin uploading ... zum Beispiel, wenn ich eine Datei namens bin setzen „foo.png“ Ich würde die URL in die Datei erwarten sein /foo.png. Derzeit ist ich nur bekommen, was eine GUID zu sein scheint (ohne Dateierweiterung) für die Dateinamen.

Irgendwelche Ideen?

War es hilfreich?

Lösung

Sie können das Tastenfeld auf dem S3Asset Objekt gesetzt zu erreichen, was Sie benötigen.

Ich werde die doco Seite mit mehr Informationen zu diesem Thema aktualisieren.

Andere Tipps

Mit length, inputstream und fileName aus der hochgeladenen Datei angegeben, sollten Sie erreichen, was Sie mit dem folgenden Code werden sollen:

        S3Service s3Service = new RestS3Service(new AWSCredentials(accessKey, secretKey))
        S3Object up = new S3Object(s3Service.getBucket("myBucketName"), fileName)
        up.setAcl AccessControlList.REST_CANNED_PUBLIC_READ
        up.setContentLength length
        up.setContentType "image/jpeg"
        up.setDataInputStream inputstream
        up = s3Service.putObject(bucket, up)

Ich hoffe, es hilft.

Die tatsächliche Lösung (wie durch @leebutts zur Verfügung gestellt):

import java.io.*;
import org.grails.s3.*;

def s3AssetService;
def file = new File("foo.png"); //assuming this file exists     
def asset = new S3Asset(file);
asset.mimeType = extension;
asset.key = "foo.png"
s3AssetService.put(asset);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top