02. november 2005 - 17:15
Der er
12 kommentarer og 1 løsning
Gemme fil
Hej, jeg kan gennem en webapplikation uploade et billede og gemme dette i fx mappen C:\images\, men hvorledes gemmer jeg filen, så min webapplikation har adgang til den og senere kan vise den, fx ved en simpel html/jsp-side med: <img src="./images/uploaded_pic.jpg" /> Hvad er løsningen eller skal det gribes anderledes an?
Annonceindlæg fra Trustworks
Tillid i en Zero-Trust verden
Med voksende trusler, nye EU-krav og øget kompleksitet er cybersikkerhed nu en central ledelsesopgave på linje med strategi og økonomi.
02. november 2005 - 17:16
#1
webapplication.war /images <- her vil jeg gerne gemme filen /WEB-INF
02. november 2005 - 17:20
#2
det gør du vel så ?? getServletContext().getRealPath("/images/foobar.jpg") bør give dig en sti
02. november 2005 - 17:36
#3
Det er ikke en servlet, men en JSF Managed-Bean, jeg uploader til via myfaces input tag: <x:inputFileUpload .. læser med -> file.getInputStream() og skriver til disk med BufferedOutputStream
02. november 2005 - 17:37
#4
war filen ligger på en Jboss, kan jeg skrive direkte i den? eller skal Jboss pakke .war filen ud, når der deployes
02. november 2005 - 17:47
#5
JBoss pakker ud men til et temp dir så det er måske ikke så smart overvej et eksternt dir og en "vis billede servlet"
02. november 2005 - 17:54
#6
((ServletContext)FacesContext.getExternalContext().getContext()).getRealPath("/images/foobar.jpg") bør kunne kaldes fra en JSF bean, men som sagt skal der nok lidt redesign til
02. november 2005 - 19:36
#7
FacesContext context = FacesContext.getCurrentInstance(); ServletContext servletContext = (ServletContext) context.getExternalContext().getContext(); String picture = servletContext.getRealPath("/images/fooBar.jpg"); BufferedOutputStream bw = new BufferedOutputStream(new FileOutputStream(picture));
02. november 2005 - 19:38
#8
Men! jeg tror jeg overvejer et eksternt dir!!
02. november 2005 - 19:42
#9
tak arne_v (svar) Stien bliver så: C:\jboss\server\default\tmp\deploy\tmp14371webapplication.war\images\fooBar.jpg
02. november 2005 - 19:48
#10
netop og det er vist ikke et betryggende sted at opbevare filer :-) og svar men "vis billede servlet" som henter fra et eksternt dir må være nemt
02. november 2005 - 19:56
#11
<h:graphicImage id="image" alt="jsf-sun" url="/images/jsf-sun.gif"> </h:graphicImage>
02. november 2005 - 20:02
#12
men hvordan kan jeg benytte servletten til ovenstående jsf tag? Er det noget i stil med: response.setContentType("image/jpg");
02. november 2005 - 20:09
#13
url="/ShowPictureServlet?pic=/images/jsf-sun.gif"> og en response.setContentType("image/gif"); og udskriv billed fil binært
Kurser inden for grundlæggende programmering