Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Server.MapPath problem

Postades av 2006-09-18 12:25:19 - Jimmy Nilsson, i forum asp.net generellt, Tråden har 11 Kommentarer och lästs av 456 personer

Tja!

Jag har byggt en foto site som tillåter "oändligt" med nivår på filstrukturen där folk sparar sina bilder.

Jag använder Server.MapPath för att få reda på den fysiska sökvägen(som behövs för filhanteringen)

Problem:
Tydligen så får den virtuella sökvägen som man matar in i Server.mapPath inte vara hur lång som hällst?

Kan man komma runt detta?

Jag får alltså ett fel på att sökvägen är för lång för att den ska kunna konvertera om den till en fysisk adr, detta uppstår dock bara när jag har lite längre/djupare sökvägare.

Kod:

Server.MapPath("/folder1Name/folder2Name/folder3Name/folder4Name/folder5Name/");



Möjlig lösning:
Det jag tänkte på var om man kunde dela upp sökvägen och konvertera mindre delar, men i detta fallet är inte det möjligt vad jag vet?


Svara

Sv: Server.MapPath problem

Postades av 2006-09-18 13:26:59 - Johan Djupmarker

Du borde kunna göra såhär istället:

Server.MapPath("/") + "folder1Name\folder2Name\folder3Name\folder4Name\folder5Name\";

/Johan


Svara

Sv:Server.MapPath problem

Postades av 2006-09-18 14:34:02 - Jimmy Nilsson

Ja det låter som en god ide =) att man inte tänkte på den.

hur känns annars lösningen på att varje användare får sin katalog på servern och i denna skapas deras album, vidare så har alla album en small, medium och larg katalog för de olika storlekarna.

Det känns kanske struligare programerings mässigt att åstakomma men det är bra mycket lättare att navigera manuelt om något fel skulle inträffa och dessutom så ligger det inte väldigt många bilder i en och samma katalog.


Svara

Sv: Server.MapPath problem

Postades av 2006-09-18 19:47:41 - Oskar Johansson

Spara som:

pic0.png
pic1.jpg
pic2.gif
etc.

istället, sedan visar du genom att streama eller liknande istället, eller vad du nu vill hitta på.


Svara

Sv:Server.MapPath problem

Postades av 2006-09-18 21:06:49 - Jimmy Nilsson

Skulle man kunna bygga in säkerhet genom att streama bilderna istället? säg att man sätter säkerhet på katalogerna så man inte kommer åt dem(alltså dem det finns foto i) sen streamar man fotona till användaren istället, och då kan man samtidigt se om man har behörighet?

Vad menar du med

pic0.png
pic1.jpg
pic2.gif
etc.

Jag kör endast med jpg ju?


Svara

Sv: Server.MapPath problem

Postades av 2006-09-19 00:15:29 - Oskar Johansson

> Skulle man kunna bygga in säkerhet genom att streama bilderna istället? säg att man sätter säkerhet på katalogerna så man inte kommer åt dem(alltså dem det finns foto i) sen streamar man fotona till användaren istället, och då kan man samtidigt se om man har behörighet?

Inga problem att streama via asp.net, du får själv se till att skapa den logik som behövs för att kontrollera om mna får ladda ner filen, och sedan se till att den streamas ner. Om du är ute efter prestanda så finns det en klass som heter DefaultHttpHandler som "skickar tillbaka" förfrågningar till iis, men du får fortfarande möjlighet att i asp.net kontrollera behörigheten. Kolla google.

> pic0.png
> pic1.jpg
> pic2.gif
> etc.

Jag menar att du inte ska hålla på och sortera en massa, möjligtvis att du skapar kataloger efter tusentals bilder eller liknande (0-999 i en mapp, 1000 - 1999 i nästa, osv.) och sedan bara döper bilderna till ett löpande id-nummer (samma id som bilden har i databasen.) På så sätt slipper du en massa begränsningar i filsystemet, och du får en del andra trevliga fördelar när du ska hantera det ifrån kod.


Svara

Sv:Server.MapPath problem

Postades av 2006-09-20 08:36:36 - Jimmy Nilsson

Aha! jag har funderat mer på streamingen, jag har letate efter information om detta tidigare men lagt ner det då det inte ganns någon direkt information att tillgå. Jag vet att man kan associera IIS med jpg bilderna på något vis och då skicka dem genom asp.net istället men det såg ut att vara mer jobb än nytt, särskilt med tanke på att jag inte har direkt kontroll över IISen(webhotell)

Idag så fungerar det så här:

1. Användare går in på sidan
2. Codebehinden i ASP.NET sidan kollar upp albumnet och plockar fram ett dataset med all info om bilden
3. en repeater onbound metod lägger ut all infor om bilden och skriver också ut sökvägen till en img tag.

Man kan alltså ange en sökväg till bilden direkt i browsern och man kommer kunna se den.

Det jag vill är att låsa katalogerna så att man inte kan titta i genom denom browsern, sen vill jag då starta en streamer i codebehind till bilden och då koppla denna till img tagen på siten.

Frågan är då hur jag kopplar en streamer till en img tag? eller hur jag överhuvudtaget får ut bilden på siten? trotts att katalogen den liger i inte går att komma åt utifrån.


Svara

Sv: Server.MapPath problem

Postades av 2006-09-20 08:52:00 - Jimmy Nilsson

E det så att jag måset kanske skapa en usercontrol för varje bild8objekt i repeater datasourcen) som då placeras ut på rätt ställen i html sidan? och då i denna ha något i stil med?

Sub ShowImage(ByVal bmp As Bitmap)
' Clear current content and set returned content type
HttpContext.Current.Response.Clear()
HttpContext.Current.Response.ContentType = "image/jpeg"
' Save to the Response.OutputStream object
bmp.Save(HttpContext.Current.Response.OutputStream, _
Imaging.ImageFormat.Jpeg)

bmp.Dispose()
HttpContext.Current.Response.End()
End Sub

Då skulle man kunna titta på om användaren har tillträde antingen innan repeatern ritar ut eller i varje bild(vilket verkar vara en sämmre ide)


Svara

Sv:Server.MapPath problem

Postades av 2006-09-20 15:11:02 - Oskar Johansson

Du måste ha en sida som enbart streamar bilderna


Svara

Sv: Server.MapPath problem

Postades av 2006-09-20 16:37:55 - Jimmy Nilsson

Okay? jag vill ju visa andra grejer på sidan merän bara de streamade bilderna, eller du menar att jag ska lägga en frame och sen ha sidan som lägger ut bilderna i denna? verkar faktiskt inte alls fullt så intressant.

Om jag skulle bygga en usercontrol som sreamar ut en bild till HTTP, vad händer då ? jag menar när en repeater bygger upp sitt utsende så bygger den ju allt efter hand(objekt/rad var för sig) så om man kan streama ut en bild just på det ställe där den just nu håller på att generera en sida så tycker man att det borde fungera?


Svara

Sv:Server.MapPath problem

Postades av 2006-09-20 17:28:48 - Oskar Johansson

Nu måste du tänka lite begränsningar i http/html.

1) Hur gör du när du bäddar in en bild i en sida?
2) När du bäddar in bilden, anger du en sökväg då?
3) Då du anger en sökväg, är det samma sökväg som till html-sidan?
4) Nej, du måste ha en separat sida som streamar ned bilderna.


Svara

Sv: Server.MapPath problem

Postades av 2006-09-21 09:13:02 - Jimmy Nilsson

Okay, jag e inte så insatt i https begränsningar.

Det man skulle kunna göra är något i stil med detta:

<img src="photo.aspx?photoId=551" height="100" width="100"/>

Problemet är att dett kommer tvinga photo.aspx att behöva hämnta information från databasen som igentligen redan är hämntad en gång, dessutom krävs det en connection till MySQL databas för varje bild vilket inte är acceptabelt.

Kanske skulle man kunna lägga informationen i en session och sen hämnta ut den i photo.aspx men problemet är väll att photo.aspx kommer köras efter repeatern är färdig så då kan man inte lagra info om en bild i en session utan man måste lagra det i flera(om man inte lagrar någon form av generic list?

Det som behövs till photo.aspx är en sökväg till bilden det är igentligen allt. Finns det någon smart lösning för detta?


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 600
27 953
271 705
3 962
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies