Avatar billede brian0905 Nybegynder
15. august 2007 - 10:11 Der er 6 kommentarer

WebService gemme fil problem

Jeg har en webservice der skal kunne tage imod en fil og gemme den på disken. En slags fileupload. Min metode til at uploade filen ser således ud:

[WebMethod]
        public void PutFile(byte[] buffer, string filename)
        {
            BinaryWriter binWriter = new BinaryWriter(File.Open(Server.MapPath(filename), FileMode.CreateNew, FileAccess.ReadWrite));
            binWriter.Write(buffer);
            binWriter.Close();
        }

Når jeg så forsøger at gemme filen på disken får jeg følgende fejlbesked som jeg ikke helt ved hvordan jeg skal komme ud over:

System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.UnauthorizedAccessException: Access to the path 'C:\Documents and Settings\brian_h\My Documents\Visual Studio 2005\Projects\FTPCVS\WalrusWebService\Test.aspx' is denied.
  at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
  at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
  at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
  at System.IO.File.Open(String path, FileMode mode, FileAccess access)
  at WalrusWebService.Walrus.PutFile(Byte[] buffer, String filename) in C:\Documents and Settings\brian_h\My Documents\Visual Studio 2005\Projects\FTPCVS\WalrusWebService\Walrus.asmx.cs:line 35
  --- End of inner exception stack trace ---
Avatar billede nielle Nybegynder
15. august 2007 - 10:16 #1
1) Er du sikker på at du har skriverettigheder det på gældende sted?

2) Hvorfor FileMode.CreateNew? Du får en exception hvis du forsøger at uploade den samme fil mere end en gang. Hvorfor ikke FileMode.Create.

3) Er det med vilke at du forsøger at uploade en aspx-file (Test.aspx)?
Avatar billede brian0905 Nybegynder
15. august 2007 - 10:25 #2
ad 1: Hvordan kan jeg sikre at jeg har skriverettigheder på mit webhotel? Og hvem skal have skriverettigheder? mig eller aspnet?

ad 2: Jeg forsøger kun at oploade en enkelt fil

ad 3: Jepsen, det er bare en tilfældig fil fra et tilfældigt projekt på min maskine
Avatar billede nielle Nybegynder
15. august 2007 - 10:32 #3
Ad 1) Det skal du snakke med din udbyder om.

Fejlbeskeden tyder på at du ikke har adgang til at skrive i det pågældende bibliotek.
Avatar billede brian0905 Nybegynder
15. august 2007 - 10:35 #4
Update: Har lige forsøgt, at søgge fuld adgang til mit "bin" bibliotek under webservices som i sidste ende er der den vil skrive, og det mislykkedes, samme fejl stadig. Jeg gav "Everyone" "full control" til biblioteket. Jeg hælder måske mere til at det er en ændring man kan lave i web.config
Avatar billede nielle Nybegynder
15. august 2007 - 10:38 #5
Hvis ikke din udbyder giver lov til at du kan gemme filer på den måde i webhotellet, så kan du ikke overrule det ved at sætte noget i web.config.

Bortset for det, så er jeg blank på denne her. :^|
Avatar billede brian0905 Nybegynder
15. august 2007 - 10:52 #6
ok, takker :-)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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