/ Forside/ Teknologi / Udvikling / ASP / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Download af filer - Extension
Fra : CADmageren
Vist : 585 gange
800 point
Dato : 06-01-05 10:44

Hejsa

Jeg har lavet mit første ASP program, som sandt at sige har givet mig mange grå hår i hovedet..., men al begyndelse er svær

http://00240708.aspnethosting.dk/

Programmet laver en DXF fil (et ascii baseret CAD format), men når man som bruger vil downloade dette, kan filen enten ikke findes eller også må brugeren slet ikke downloade den pga sikkerheds indstillinger.

Hvis giver filen extension .txt istedet er der ingen problemer.
Som eksempel har jeg fundet siden: http://www.cecodoor.com/cfa1dxf.htm

Her jeg uden problemer downloade DXF filer - så hvad er det lige jeg har misset?

/ Michael Christoffersen


 
 
Kommentar
Fra : BjarneD


Dato : 06-01-05 11:01

En tilladelse på den server der hoster din side.
Mange udbydere vil ikke give tilladelse til FTP download fordi det vil belaste deres båndbredde for meget.

Kommentar
Fra : Harlekin


Dato : 06-01-05 11:03

Filen fandtes ikke da jeg prøvede.. det er den jo nødt til for at man kan hente den..
Det eksempel du giver har jo ikke (så vidt jeg kan se) automatisk genererede filer.

Prøv lige at få filen til at eksistere først. Så er det nemmere at hjælpe

Kommentar
Fra : CADmageren


Dato : 06-01-05 11:03

Jamen hvorfor virker det så hvis filen ender på .txt???


Kommentar
Fra : Harlekin


Dato : 06-01-05 11:05

BjarneD, det har ikke noget med FTP at gøre. Det link der laves bruger http:// protokollen, så det er ikke det der er problemet.

Kommentar
Fra : CADmageren


Dato : 06-01-05 11:06

Nu har jeg omdøbt extension til .txt


Kommentar
Fra : CADmageren


Dato : 06-01-05 11:07

Harlekin:
"Filen fandtes ikke da jeg prøvede.. det er den ..."
Jo filen findes... Det er netop problemet.


Kommentar
Fra : Harlekin


Dato : 06-01-05 11:07

Har du mulighed for (med FTP) at se om filen eksisterer på serveren med .dxf endelsen?
Hvis den ikke gør, så er det måske fordi du ikke har lov at gemme filer i det format.

Du kan så evt sende filen direkte til browseren som en stream - så bliver den ikke gemt på serveren først og du er ude over det problem!

Kommentar
Fra : CADmageren


Dato : 06-01-05 11:09

Filerne findes!
Jeg sidder er ser på ftp adgangen.



Kommentar
Fra : CADmageren


Dato : 06-01-05 11:10

Meningen er at brugeren skal kunne downloade filen, og indsætte denne som en block i sit cad program.


Kommentar
Fra : CADmageren


Dato : 06-01-05 11:11

Harlekin
Kan jeg ikke få dig til at ændre en af værdierne og lave en ny størrelse istedet for standardværdien.

/ Michael


Kommentar
Fra : Harlekin


Dato : 06-01-05 11:11

Måske er der sat noget sikkerhed på serveren, så man ikke kan downloade visse extensions?

Kommentar
Fra : BjarneD


Dato : 06-01-05 11:12

Harlekin selv om der anvendes http til download er det to sider af samme sag.
Det er jo heller ikke den fysiske dxf fil der ligger til download.

Kommentar
Fra : Harlekin


Dato : 06-01-05 11:13

3000x2400 - Den virker som txt...

Hvad med at prøve at sende en stream til klienten?

Kommentar
Fra : CADmageren


Dato : 06-01-05 11:13

Jeg må spørge ScanNet, men umiddelbart skulle der ikke være nogen problemer med DXF formatet - da det mig bekendt ikka noget med scripts at gøre.


Kommentar
Fra : BjarneD


Dato : 06-01-05 11:14

Det er nok snarere en generel spærring med visse undtagelser. Du kan jo altid downloade det der fysisk er vist, men man kan ikke fysisk vise en cad tegning i sit oprindelige format da det ville kræve, at browseren kunne håndtere dette ved hjælp af en plugin hos bruger eller på serveren.

Kommentar
Fra : Harlekin


Dato : 06-01-05 11:14

bruger du VB.net til din ASP?

Kommentar
Fra : CADmageren


Dato : 06-01-05 11:15

Hvordan streamer man til en klient?

Filen skal ikke vises i browseren/klienten men downloades til brugerens disk


Kommentar
Fra : CADmageren


Dato : 06-01-05 11:16

Ja

Framework 1.1


Kommentar
Fra : BjarneD


Dato : 06-01-05 11:16

Jeg har for øvrigt været inde i problemstillingen hvor det var nogle maskintegninger der skulle kunne downloades, men vi endte med at lægge et billede som var genereret af AutoCad og så en formmail funktion til at rekvirere tegningen fysisk.

Kommentar
Fra : Harlekin


Dato : 06-01-05 11:20

Prøv at bruge denne funktion.
Hvis du gemmer filen som TXT som du plejer. Så kalder du denne funktion med linket (og med filnavnet, fx "Demo_3000x24000.txt" som parameter).

Public Sub SecureFileDownload(ByVal inFile As String)
Dim strFileNamePath As String
strFileNamePath = Request.MapPath("Data") & "\" & inFile
Dim myFile As FileInfo = New FileInfo(strFileNamePath)
Response.Clear()
'now we send the file header minus the resources extension.
Response.AddHeader("Content-Disposition", "attachment; filename=" & _
Replace(myFile.Name, ".txt", ".dxf"))
Response.AddHeader("Content-Length", myFile.Length.ToString())
Response.ContentType = "application/octet-stream"
Response.WriteFile(myFile.FullName)
Response.End()
End Sub


Kommentar
Fra : Harlekin


Dato : 06-01-05 11:23

Funktionen finder din fil i Data folderen, og sender den til klienten som en stream. Undervejs skifter den .txt endelsen ud med .dxf

Jeg kan se Kandu har spist et linieskift.
Response.AddHeader("Content-Length", myFile.Length.ToString())
skal være på en linie for sig.

Kommentar
Fra : CADmageren


Dato : 06-01-05 11:31

Compiler Error Message: BC30002: Type 'FileInfo' is not defined.



Kommentar
Fra : Harlekin


Dato : 06-01-05 11:36

Dim myFile As FileInfo = New FileInfo(strFileNamePath)
skiftes ud med
Dim myFile As System.IO.FileInfo = New System.IO.FileInfo(strFileNamePath)

Kommentar
Fra : CADmageren


Dato : 06-01-05 11:43

Exception Details: System.NotSupportedException: The given path's format is not supported.

Source Error:


Line 75:    strFileNamePath = Request.MapPath("Data") & "\" & inFile
Line 76:
Line 77: Dim myFile As System.IO.FileInfo = New System.IO.FileInfo(strFileNamePath)
Line 78:    Response.Clear()
Line 79:    'now we send the file header minus the resources extension.



Kommentar
Fra : CADmageren


Dato : 06-01-05 11:46

Jeg skal vist studere ASP noget mere.

Synes ellers jeg er VB ekspert....

Hvordan viser man værdien af en variabel?


Kommentar
Fra : CADmageren


Dato : 06-01-05 11:46

Jeg skal vist studere ASP noget mere.

Synes ellers jeg er VB ekspert....

Hvordan viser man værdien af en variabel?


Kommentar
Fra : Harlekin


Dato : 06-01-05 11:49

Du kan skrive
Response.Write(strFileNamePath)
for at få vist indholdet af strFileNamePath. Men det kræver selvfølgelig at koden kan kompilere..

Kommentar
Fra : CADmageren


Dato : 06-01-05 11:52

Tak for din tålmodighed - Harlekin.

Det var en fejl40.

OK - Nu forstår jeg hvad øvelsen gik ud på, men det har ikke løst problemet.
Jeg skal ikke have dataene vist i mit browser vindue.
Filen skal downloades.


Kommentar
Fra : Harlekin


Dato : 06-01-05 11:57

Kører det på linket nu?

Jeg får stadig en .txt fil når jeg trykker på det.
Hvis det kørte, så skulle den jo hente en .dxf fil. Den bør så komme frem og spørge om filen skal åbnes eller gemmes..

Kommentar
Fra : CADmageren


Dato : 06-01-05 11:58

afblæs alarmen

Jeg undskylder mange gange.

Problemet ligger hos ScanNet

Sorry

/ Michael Christoffersen


Kommentar
Fra : Harlekin


Dato : 06-01-05 12:01

Blokerer de for bestemte filtyper eller hvad var problemet?

Kommentar
Fra : CADmageren


Dato : 06-01-05 12:03

Harlekin.

Måske kan din løsning alligevel bruges.



Accepteret svar
Fra : Harlekin

Modtaget 800 point
Dato : 06-01-05 12:03

Nu kører det da

Godkendelse af svar
Fra : CADmageren


Dato : 06-01-05 12:05

Du er simpelt hen dagens mand!!

ScanNet har lagt en begrænsning på visse extensions af sikkerhedsmæssige årsager.

Men din lille stump kode løser problemet.

                        

Kommentar
Fra : Harlekin


Dato : 06-01-05 12:10

Det var tarveligt af Scannet..

Så meget for deres sikkerhed

Hvis du vil bruge mere tid på det kan du lave din kode så den slet ikke gemmer en fil på disken først, men sender data direkte til den Stream du sender til brugeren.
Ellers må du i hvertfald huske at rydde op ved at slette den genererede fil efter den er sendt.

Kommentar
Fra : CADmageren


Dato : 06-01-05 12:15

Ja pt, gør det ikke noget at filerne bliver liggende, så går det bare endnu hurtigere.

Et lille ekstra sp.
Hvis jeg tester på localhost, så kommer dxf filen direkte frem i det aktive vindue, og man får ikke dialogboxen "Gem"...

Hvad er forskellen, og kan jeg være rimelig sikker på at dette spiller på samme måde i andre browsere/opsætninger?

Det er vigtigt at brugeren bliver promptet for at kunne gemme lokalt.

/ Michael


Kommentar
Fra : Harlekin


Dato : 06-01-05 12:22

Det må være windows logik. Localhost er jo lokalt, og så mener windows måske ikke den skal gemme filen - derfor bruger det program det plejer til at åbne filen, uden at spørge.

Jeg har prøvet med både IE og FireFox og det spiller. Det er jo bare en "anmindelig" download af en fil fra en hjemmeside.

Kommentar
Fra : CADmageren


Dato : 06-01-05 12:33




Kommentar
Fra : ans


Dato : 06-01-05 12:39

CADmageren

Du er da dygtig, andre brugere kan max. give 500 point.

Hvordan bar du dig ad med 800 point.

Hilsen ans

Kommentar
Fra : CADmageren


Dato : 06-01-05 12:41

Tja det ved jeg faktisk ikke.

200 + 300 = 800 ???


Kommentar
Fra : Harlekin


Dato : 06-01-05 13:09

Hvis du skulle være ude for at nogen ikke bliver promptet (hvis de har valgt at den filtype altid skal åbnes uden at spørge) så kan de gemme alligevel fra Menuen (Filer -> Gem som..)

Kommentar
Fra : CADmageren


Dato : 14-02-05 13:37

Harlekin -
Jeg har uploaded et ny version af programmet, men nu er der ikke længere bruger adgang.
Har du nogen idé om hvorfor??

http://00240708.aspnethosting.dk/

ScanNet giver ikke megen begynder support!


Kommentar
Fra : Harlekin


Dato : 14-02-05 13:47

Tja... hvad er filnavnet på den fil man skal se i browseren?

Kommentar
Fra : CADmageren


Dato : 14-02-05 13:51

Default.aspx

Jeg ikke ændret på filstrukturen, kun ændret i koden til ovenstående.

/ Michael


Kommentar
Fra : Harlekin


Dato : 14-02-05 13:56

har du lavet om i noget med rettigheder? evt i web.config filen?

Kommentar
Fra : CADmageren


Dato : 14-02-05 13:58

Det har jeg ikke, men her er den:

<?xml version="1.0"?>
<configuration>
   <system.web>
      <compilation debug="true"/>
      <authentication mode="Windows"/>
      <customErrors mode="Off" defaultRedirect="NoAccess.htm">
<error statusCode="403" redirect="NoAccess.htm"/>
<error statusCode="404" redirect="FileNotFound.htm"/>
      </customErrors>
   </system.web>
</configuration>



Kommentar
Fra : Harlekin


Dato : 14-02-05 14:00

Er der heller ikke rettigheder til at se billeder? Eksempelvis http://00240708.aspnethosting.dk/testbillede.gif

Virker det gamle eksempel endnu?

Hvis du ikke kan det så må det være scannet der har lavet et eller andet...
..


Kommentar
Fra : CADmageren


Dato : 14-02-05 14:04

Har du mulighed for at kontakte mig direkte på

michael@cadmageren.dk / 4826 3570

mvh
Michael Christoffersen


Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste