Avatar billede Slettet bruger
08. august 2006 - 11:43 Der er 3 kommentarer og
1 løsning

java.io.FileNotFoundException: d:\ophug (Adgang nægtet)

Hej,

Jeg er i gang med at lave et lille program for mit arbejde. Jeg forsøger på at uploade nogen billeder via HTTP med Apache Common FileUpload, men jeg får ovenstående exception. Jeg fatter ikke hvorfor det ikke virker :(

Min kode:
    private void fileUpload(FileItem item) {

        try {
            String path = getServletConfig().getInitParameter("path");
            path = path.trim();
            System.out.println(path);
            File uploadFile = new File(path);
            String fileName = item.getName();
            if (fileName != null) {
                fileName = FilenameUtils.getName(fileName);
            }
            boolean isDir = uploadFile.isDirectory();
            boolean canWrite = uploadFile.canWrite();
            boolean mkDirs = uploadFile.mkdirs();
            path = path +"/"+ fileName;
           
            //uploadFile.createNewFile();
            item.write(uploadFile);

        } catch (Exception e) {

            e.printStackTrace();
        }
    }

FileItem er en del Apache Common, men jeg forsøger p.t. bar at oprette en tom fil med alm. Java IO, men det kan jeg hellere ikke, men jeg kan sagtens oprettet et dir men ikke en fil.

Stracktrace:
java.io.FileNotFoundException: d:\ophug (Adgang nægtet)
    at java.io.FileOutputStream.open(Native Method)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
    at org.apache.commons.fileupload.disk.DiskFileItem.write(DiskFileItem.java:413)
    at ophug.servlet.SaveCar.fileUpload(SaveCar.java:91)
    at ophug.servlet.SaveCar.doPost(SaveCar.java:66)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:595)
Avatar billede _carsten Nybegynder
08. august 2006 - 11:59 #1
Ser ud til du ikke har en fil ved navn:    d:\ophug

Giver den her det ønskede resultat:  System.out.println(path);  ??
Avatar billede Slettet bruger
08. august 2006 - 12:08 #2
Ja, det gør den og hvis jeg laver følgende test kode:
File test = new File("d:\\ophug\\dummy.txt");
test.createNewFile();
så opretter den godt nok en fil i det dir!
Avatar billede mikkelbm Nybegynder
08. august 2006 - 12:41 #3
"d:\ophug" er vel også et directory og ikke en file? De to kan mig bekendt ikke behandles ens.
Avatar billede Slettet bruger
08. august 2006 - 13:27 #4
Jeg har læst filen ind som en byte[] og skrevet det ud med FileOutputStream, det løste problemmet
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester