2017-07-09 7 views
0

Ich versuche eine einfache CRUD-Anwendung mit Grails zu erstellen. Ich bin absolut neu in diesem Framework. Meine CRUD-Tabelle hat nur wenige Eigenschaften, ist mit einer lokalen Datenbank verbunden und funktioniert so gut, außer dass sie keine Bilder laden kann. Ich erhalte eine Fehlermeldung, dass der Typ nicht übereinstimmt. Wie man es löst?Eigenschaft xxx ist typengleich.

Mein Controller-Klasse ist unten:

class Person 
{ 
    int id 
    String name 
    String address 
    byte[] profilePic 
} 

static constraints 
{ 
    profilePic maxSize :204800 
} 

static mapping 
{ 
    table 'all_users' 
    version false 
    columns 
    { 
     id column: 'id' 
     name column: 'name' 
     address column: 'address' 
     profilePic column: 'profilepic' 
    } 
} 
+0

Wenn Sie Fehler in Ihrer Konsole usw. sehen, fügen Sie sie bitte der Frage (z. Stacktraces, ...). "Es funktioniert nicht" macht es schwer zu erraten, was schief läuft. Achte auch darauf, dass dein Code dort richtig eingefügt wird. Diese statischen Blöcke außerhalb der Klasse sehen absolut falsch aus. – cfrick

+0

@cfrick ich bekomme einen Fehler Property Image ist Typ-nicht übereinstimmend, wenn ich versuche, ein Bild in "Choose file" -Feld zu laden –

Antwort

0

Domain-Code

class Person 
{ 
    int id 
    String name 
    String address 
    String profilePic 
} 

static mapping 
{ 
    table 'all_users' 
    version false 
    columns 
    { 
     id column: 'id' 
     name column: 'name' 
     address column: 'address' 
     profilePic column: 'profilepic' 
    } 
} 

-Controller-Code

def save(){ 
     def person = new Person(params) 
     person.save flush: true, failOnError: true 
     redirect action: "show", id: person.id 
     def downloadedfile= request.getFile('profilePic') 
     String profilePic = "D:/Your Grails Applications/grails-app/assets/images/" + person.name + ".jpg" 
     downloadedfile.transferTo(new File(profilePic)) 
    } 

Code anzeigen

<input type="file" name="profilePic"/> 
Verwandte Themen