| 

.NET C# Java Javascript Exception

File upload auf Dateisystem, Referenz in DB speichern

Dies ist das Archiv des ehemaligen Forums zum Thema Groovy, Grails, Griffon und Bean Scripting Framework, welches unter groovy-forum.de existierte. Die neue Adresse des Groovy-Forums ist: http://codekicker.de/fragen/themen/groovy.


File upload auf Dateisystem, Referenz in DB speichern

Cheefrocker - 23.03.2009 11:20
Hallo zusammen,

ich möchte ein Fileupload in Grails machen, dabei soll das Bild auf dem Dateisystem gespeichert werden. Die Reference zu einer Datei soll in einer Datenbank hinterlegt werden.

Vielleicht hat jemand das selbe Problem schon gehabt und konnte es erfolgreich meistern.

Bin für jede Hilfe dankbar!


Gruss

Cheefrocker


Re: File upload auf Dateisystem, Referenz in DB speichern

Cheefrocker - 23.03.2009 14:58
@vielen dank christian. ich werde mir den quellcode in ruhe anschauen!

Wenn jemand mir trotzdem noch paar tipps geben kann, wie ich den pfad in die db speicher wäre ich jedem dankbar!


:) danke euch!


Re: File upload auf Dateisystem, Referenz in DB speichern

Cheefrocker - 23.03.2009 16:30
auch dir besten dank @gidion, ich habe es versucht zu implementieren, leider komme ich an der vergabe des filesnamens nicht klar.


hier mein MyFileController:
	    def save = { 		
		def downloadedfile = request.getFile('file'); 	
		def File = new File('c:/filename.jpeg') 	
		downloadedfile.transferTo(File)      
		def myFile = new MyFile(fileName:"c:/filename.jpeg") 	
		myFile.save() 
                redirect(action:show,id:myFile.id)      }

Die Schwierigkeit besteht darin, das ich die Filenamen eindeutig(fortlaufend) gestalten muss.
Hier vergebe ich ihn aber fest!
def myFile = new MyFile(fileName:"c:/filename.jpeg") 	


Re: File upload auf Dateisystem, Referenz in DB speichern

Alp - 24.03.2009 00:13
Vielen Dank, wieder was gelernt :)


Re: File upload auf Dateisystem, Referenz in DB speichern

Cheefrocker - 26.03.2009 12:38
Alp schrieb:
-------------------------------------------------------
> Bei mir sieht das so aus:
>
>
> @Secured(['ROLE_USER'])
> def save = {
> def file = request.getFile('file')
> def name = file.getOriginalFilename()
> //TODO checken ob überhaupt extension existiert
> def extension = name.split("\\.").reverse()[0]
> def path =
> servletContext.getRealPath(imagePath)
>
> def image = new Image([
> file: file,
> name: name,
> extension: extension,
> path: imagePath
> ])
> if(!image.hasErrors() && image.save()) {
> file.transferTo(new File(path + '/' + image.id
> + '.' + image.extension))
> flash.notice = message(code:
> 'image.upload.success')
> redirect(controller: 'community',
> action: 'show', id: image.content.id)
> }
> else {
> flash.error = message(code:
> 'image.upload.error')
> chain(controller: 'community', action:
> 'show', params: , model: )
> }
> }
>
>
> Vielleicht hilft dir das weiter.



Hi Alp,

speicherst du das Bild erst in die DB und dann in das Filesystem??


> def image = new Image([
> file: file,
> name: name,
> extension: extension,
> path: imagePath
> ])


Re: File upload auf Dateisystem, Referenz in DB speichern

christian - 26.03.2009 23:13
Doppelte Daten sind doch eigentlich immer schlecht, oder nicht? (Zumindest, wenn es nicht um Backup geht.)

Gruß
Christian


Stelle deine Groovy-Frage jetzt!


Diese Seite zeigt den Thread "File upload auf Dateisystem, Referenz in DB speichern" der ehemaligen Webseite groovy-forum.de, welche durch einen Serverunfall zerstört wurde. codekicker.de hat viele Konversationen über die beliebte Programmiersprache Groovy und zugehörige Frameworks wie das Grails-Framework retten können.

Hast Du eine Frage zum Thema Groovy, Grails oder allgemein Java? Viele ehemalige groovy-forum.de Mitglieder beantworten dir auf codekicker.de deine Frage! Stelle jetzt eine Frage!

Viele weitere Diskussionen zu Grails und Groovy befinden sich auf der Threadübersicht des alten groovy-forum.de.