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 / Artiklar / Titel på artikeln

AspUpload Del 2 - arbeta med filen

Postad 2003-06-08 av Martin Jensen i sektionen ASP.NET, C#, Okategoriserat med 1 Kommentarer | Läst av: 6756, Betyg: 74%

Förord

Då var det dags för andra delen i serien AspUpload. Har du inte läst del 1 så råder jag dig att göra det pga att jag kommer utgå ifrån att du har dom kunskaperna som ingick i den. I denna del ska vi gå igenom dels lite repetition och utveckling av del 1, dels hur vi kan bestämma vilken sorts filer som får laddas upp (ex .jpg eller .gif) och vilken pixel storlek bilderna får ha. Sen ska vi även gå igenom hur man får bilderna att hamna i olika mappar på servern. Som vanligt så vid frågor angående artikeln så maila mig på support@graphvision.com.
Innehåll
  » Repetition av Del 1
  » Vilken fil-typ
  » Vilken pixel storlek
  » Spara filerna i olika mappar
  » Andra finesser
  » AspUpload Del III
  » Övriga Referenser:
Relaterade artiklar
  » AspUpload del 1 - Ladda upp fil(er)


Repetition av Del 1

I del 1 så nuddade jag vid Save och SaveVirtual. Jag pratade om att det handlade om säkerhet skäl att det man stängde av Save. Men den skillnad som vi programmerar ser/märker av är att när du använder Save så ska du skriva den fysiska sökvägen till den mapp som du ska ha filerna i. Använder du däremot SaveVirtual så skriver du utifrån den mappen som aspupload-filen ligger i, dvs alltså precis som vi i vanliga fall använder Server.MapPath.
Jag skrev också om kommandot OverwriteFiles som hade true default(standard). Ofta vill man ju inte att kan ska råka klanta till det med att skriva över en fil på server. Så vi satte den på False, detta gör att filerna byternamn från filnamn.ext till filnamn1.ext. AspUpload sätter alltså dit en numrering på filen så att den ska vara lätt att hitta. Det var en liten repetition/förtydling av del 1. Redo för att ta tag i del II? Redo eller ej, nu kör vi…


Vilken fil-typ

Man vill ju inte att det ska få laddas upp vad som helst på servern. Du kan ju som jag visa i del 1, sätta en storleks-begränsning via SetMaxSize. Men det finns fler sätt att göra detta för ännu mer kontroll, bl a genom att bara låta t ex jpg och gif filer gå igenom till servern.


If Upload.Files(1).ImageType <> "GIF" and Upload.Files(1).ImageType <> "JPG" Then

Upload.Files(1).Delete 'filer som inte är GIF eller JPG tas bort
Response.Write "
GIF eller JPG filer enbart!
"

ElseIf Upload.Files(2).ImageType <> "GIF" and Upload.Files(2).ImageType <> "JPG" Then

Upload.Files(2).Delete 'filer som inte är GIF eller JPG tas bort
Response.Write "
GIF eller JPG filer enbart!
"

End If


Här ser vi ett par nya kommandon; först ut är ImageType=bildtyp, dvs ex jpg eller gif. Nästa ut är Delete. Delete är precis vad det låter. Det kommandot tar bort eventuell fil, så det inte ligger något och skräpar.


Vilken pixel storlek


Du du har en fixerad layout eller bara vill ha en speciell pixel storlek på bilderna som laddas upp. Kan man med enkla medel sätta en fast storlek på bilderna som laddas upp, så att det inte laddas upp allt förstora eller för små bilder på sidan. Det är alltid trevligt att vara säker på att sidan ser ut som du har gjort den. Eller hur!?! Med kommandona ImageHeight och ImageWidth kontrollera du enkelt detta.


If Upload.Files(1).ImageWidth < 300 UploadFiles(1).ImageHeight < 150 Then
Response.Write "
Bilden får inte vara större än 300x150px!
"

ElseIf Upload.Files(2).ImageWidth < 300 UploadFiles(2).ImageHeight < 150 Then
Response.Write "
Bilden får inte vara större än 300x150px!
"
End If

Här låter vi inte bildfilerna vara större än 300x150 pixlar. Tänk på att när man skriver storlek på något så skriver man alltid bredden först och sen höjden.




Spara filerna i olika mappar

Ofta på mina produktioner så har jag flera mappar i min bild mapp. Därför kan det vara bra att kunna spara filerna i 2 olika mappar så att funkar som det ska. Man kan göra det på 2 generella sätt. 1. Ladda upp filerna i minnet på aspupload och fördela dem. 2.Ladda upp filerna i en ”temp” mapp och flytta filerna sedan till rätt mappar. Jag kommer att gå igenom andra varianten pga att då får vi även använda ett annat kommando (MoveVirutal). Så vi lär oss principen för att flytta filer. Okej nu kör vi.


Count = Upload.SaveVirtual("../bilder/temp")

Upload.Files(1).MoveVirtual ("../bilder/första/" & Upload.Files(1).ExtractFileName & "")

Upload.Files(2).MoveVirtual ("../bilder/andra/" & Upload.Files(2).ExtractFileName & "")


Vi börjar som vanligt med Upload.SaveVirtual och spara bilderna i ”temp” mappen. Obs! Glöm ej att sätta skriv rättigheter på temp/första/andra mapparna! Sen kommer MoveVirtual-kommandot, det finns ett Move-kommando men det funkar som Save och SaveVirtual kommandona. ExtractFileName sätter dit rätt namn på filen. Skulle du vilja byta namn där automatiskt, så kan du byta ut Upload.Files(1).ExtractFileName mot t ex Session(”id”) & ”.” & Upload.Files(1).ImageType. Så för du filen döpt till session_id.ext . Smidigt va?!?


Andra finesser

När man har 2 eller fler file-fält i html-form:en så kan det vara bra att kolla så att det verkligen är 2 filer som laddas upp. Detta gör du enkelt genom att:


IF NOT Count = 2 then ‘2:an är alltså hur många filer som ska vara med

Response.Write "
Måste vara 2 filer!
"

Else
’resten av koden som ska utföras



AspUpload Del III

I AspUpload Del III ska jag gå igenom några vanliga felmedelanden som man kan råka utför och självklart hur man löser dem.


Övriga Referenser:

Om Ni inte orka vänta till nästa del så kan ni kolla in http://support.persits.com/. Där det går att söka på felmedelanden.
Upp

1 Kommentarer


  1. Johan Moberg
    9 okt 2003

    När kommer nästa del???

Skriv en kommentar på artikeln

Ditt betyg på artikeln



Kommentar:





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 158
27 952
271 704
1 078
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