Plaatje downloaden

Pagina: 1
Acties:
  • 122 views sinds 30-01-2008
  • Reageer

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Heeft iemand enig idee hoe ik een plaatje kan downloaden.

Ik heb dus een pagina en daar staan links op die naar plaatjes verwijzen.
Klik ik op zo'n link dan opent IE hem gewoon in de browser.

Het moet dus zo zijn dat IE ze gaat downloaden.

Iemand enig idee?

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Niet echt, je zou een compleet verkeerde header mee kunnen sturen.
Van iets dat IE altijd download (een application/exe (kweenie of die bestaat))
Maar verder? Denk niet dat je veel kans maakt, ie daartoe te dwingen.

  • Xandrios
  • Registratie: Februari 2001
  • Laatst online: 08-09 12:42
rechtermuisknop; save target as (opslaan als) ;)

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op zaterdag 23 juni 2001 16:39 schreef Cutebritney het volgende:
rechtermuisknop; save target as (opslaan als) ;)
En dat in een phptje stoppen dan :)

  • HGM
  • Registratie: April 2000
  • Niet online

HGM

je had laatst ook zo'n vraag over txt bestanden:
[topic=166930]

Dit is toch gewoon op dezelfde manier op te lossen??

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Ja maar helaas werkt die header meer sturen helemaal niet.

IE trekt zich er nix van aan en ziet dat het een image is en laat het gewoon zien :(

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • HGM
  • Registratie: April 2000
  • Niet online

HGM

ik heb je zojuist ook ff ge-ICQt..

Ik heb t zo gemaakt:
PHP:
1
2
3
4
5
6
7
8
<?
header("Content-disposition: filename=$bestand.jpg");
header("Content-type: application/octetstream");
header("Pragma: no-cache");
header("Expires: 0");
$fn=fopen("upload/$bestand.jpg","r");   
fpassthru($fn); 
?>

Bij mij werkt dit tochwel??

  • Epsilon
  • Registratie: December 2000
  • Laatst online: 23:11

Epsilon

Avatar revival!

Op zaterdag 23 juni 2001 17:00 schreef jelmervos het volgende:
Ja maar helaas werkt die header meer sturen helemaal niet.

IE trekt zich er nix van aan en ziet dat het een image is en laat het gewoon zien :(
rechtermuisknop op plaatje, afbeelding opslaan als, bla bla bla

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op zaterdag 23 juni 2001 17:07 schreef epsilon het volgende:
rechtermuisknop op plaatje, afbeelding opslaan als, bla bla bla
En de thread lezen.

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Op zaterdag 23 juni 2001 17:02 schreef HGM het volgende:
ik heb je zojuist ook ff ge-ICQt..

Ik heb t zo gemaakt:
PHP:
1
2
3
4
5
6
7
8
<?
header("Content-disposition: filename=$bestand.jpg");
header("Content-type: application/octetstream");
header("Pragma: no-cache");
header("Expires: 0");
$fn=fopen("upload/$bestand.jpg","r");   
fpassthru($fn); 
?>

Bij mij werkt dit tochwel??
Thanks !!

Hij gaat het nu inderdaad wel downloaden.
Kijk ik daarna naar de bestandsgrootte is ie ineens van 10 kb naar 0,5kb gegaan.
Het lijkt erop dat hij maar een klein gedeelte opslaat.

Enig waardoor dit komt?

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 02-09 19:44

Gerco

Professional Newbie

Op zaterdag 23 juni 2001 19:49 schreef jelmervos het volgende:
Enig waardoor dit komt?
Misschien omdat hij een octet-stream verwachts en geen plaatje? Een octet stream is toch een stream octale getallen? Misschien staat er in de code van dat plaatje wel 1 of andere waarde die voor IE 'einde van stream' betekent.

Of loop ik nu onwijs uit mn nek te lullen?

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • HGM
  • Registratie: April 2000
  • Niet online

HGM

Op zaterdag 23 juni 2001 20:03 schreef Gerco het volgende:

[..]

Misschien omdat hij een octet-stream verwachts en geen plaatje? Een octet stream is toch een stream octale getallen? Misschien staat er in de code van dat plaatje wel 1 of andere waarde die voor IE 'einde van stream' betekent.

Of loop ik nu onwijs uit mn nek te lullen?
Kan goed kloppen, aangzien dit gebruikt wordt om Excel bestanden te downloaden..

Ik wist t zelf ook niet zeker hoor..

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Maar er is dan dus helemaal geen manier om het toch voor elkaar te krijgen?

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • eek
  • Registratie: Februari 2001
  • Laatst online: 06-04-2020

eek

@MagickNET

PHP:
1
2
3
4
5
6
7
8
9
10
<?
$fname=$filename.".jpg"; 

$fp = fopen($fname, "r"); 
header("Content-type:application/octet-stream"); 
header("Content-Disposition: attachment; filename=$fname"); 


fpassthru($fp); 
?>

kwam dit tegen via google eerste klick

Skill is when luck becomes a habit.


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Dat is heel mooi maar heb je het topic wel eerst even doorgelezen?

"The shell stopped unexpectedly and Explorer.exe was restarted."


Verwijderd

Heel dom idee misschien, maar je kun je niet je file octadecimaal maken en dan op de client weer normaal?

Op die manier gaat het dus goed... Beetje omslachtig alleen.
En vraag me niet hoe...

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Is het niet mogelijk om dit via cgi te doen?

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Niemand die hier een oplossing voor weet :'(

"The shell stopped unexpectedly and Explorer.exe was restarted."


Verwijderd

Wat is het nut hiervan dan?!

Ik kan me voorstellen dat je grote
hoeveelheden plaatjes wil opslaan,
maar dat kan ook via pagina opslaan.
Dan heb je alle plaatjes toch ook!?

Verwijderd

kan je niet instellen dat ie ze niet opent? kweenie maar je hebt trouwens ook progjes die alle plaatjes op een pagina downloaden of bedole je dat niet?

  • mocean
  • Registratie: November 2000
  • Laatst online: 31-08 09:14
Ik heb zelf altijd een hekel, als ik iets vraag (hoe kan dit of dat) en mensen gaan dan zeggen: "ja, maar wat is het nut ervan", of "Is dit wel nodig/handig" maar nu ga ik het zelf ook even doen >:)

Je kan toch gewoon een Image maken met een hyperlink naar datzelfde plaatje in ZIP formaat? bespaart ook nog bandbreedte.

Koop of verkoop je webshop: ecquisition.com


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Ja maar het is dus absoluut niet de bedoeling om het in zip te zetten.
Is allemaal veel te veel werk.

Ik moet gewoon om een plaatje kunnen klikken en dat hij dan het plaatje download, en niet via rechtermuisknop.

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 22:46

TheDane

1.618

volgens mij is dat browser afhankelijk.

in netscape communicator kan je in edit | preferences | navigator | applications aangeven wat er met ieder bestand gedaan moet worden.

type: img/gif
handled by: netscape
(dit aanpassen bij edit, en dan "save to disk" kiezen. )

als je dan op plaatje klikt (als 't een link is) dan krijg je zo'n file save boxje, in plaats van dat de link/plaatje in nieuw venster ofzo geopend wordt. )


da's dus clientside, en kan je volgens mij nooit regelen.



edit:

hmm, misschien kan je met javascript iets bakken ...

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Inderdaad, maar ik moet het dus zo hebben dat de webserver het mij het bestand laat downloaden.

"The shell stopped unexpectedly and Explorer.exe was restarted."


Verwijderd

Is een oplossing in PHP een optie, of beschik je daar niet over?

  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
Op woensdag 27 juni 2001 19:02 schreef TheDane het volgende:
volgens mij is dat browser afhankelijk.

in netscape communicator kan je in edit | preferences | navigator | applications aangeven wat er met ieder bestand gedaan moet worden.

type: img/gif
handled by: netscape
(dit aanpassen bij edit, en dan "save to disk" kiezen. )

als je dan op plaatje klikt (als 't een link is) dan krijg je zo'n file save boxje, in plaats van dat de link/plaatje in nieuw venster ofzo geopend wordt. )


da's dus clientside, en kan je volgens mij nooit regelen.



edit:

hmm, misschien kan je met javascript iets bakken ...
hoezo clientside??

als die php file werkt in IE, zou die toch ook moeten werken in NS of ligt da aan mij?

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op woensdag 27 juni 2001 20:45 schreef SWINX het volgende:
als die php file werkt in IE, zou die toch ook moeten werken in NS of ligt da aan mij?
Nope, kan best zijn dat de ene netjes een "extra standaard" implementeert en de andere niet...

Verwijderd

Op woensdag 27 juni 2001 20:45 schreef SWINX het volgende:

[..]

hoezo clientside??

als die php file werkt in IE, zou die toch ook moeten werken in NS of ligt da aan mij?
ACM in de bocht! :)
Je hebt gelijk. Of en hoe PHP werkt ligt helemaal aan de server en niet aan de browser!

  • Yohost!
  • Registratie: Juni 2000
  • Laatst online: 20:10
Op woensdag 27 juni 2001 20:47 schreef ACM het volgende:

[..]

Nope, kan best zijn dat de ene netjes een "extra standaard" implementeert en de andere niet...
Klopt, IE 5.x trekt zich nix aan van de header die php meestuurt, 6.0 weer wel

  • Guillome
  • Registratie: Januari 2001
  • Niet online

Guillome

test

Dus...... moet het in JavaScript.

`t Is niet ideaal, maar misschien lukt het jouw wel goed, laat het me dan ff weten! :)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<a class='border<?php echo $color; ?>' href='javascript:preload("<?php echo $row['path']; ?>");'>[Laden]</a>
<a class='border<?php echo $color; ?>' href='javascript:download("<?php echo $row['path']; ?>");'>[Kopieren]</a>

  <iframe ID=saveframe style='display:"none";'></iframe>
  
<script>

 
  function preload(s)
  {
    document.all.saveframe.src = s;
  }

  function download(s)
  {
    if (saveframe.document.URL.toLowerCase(saveframe.document.URL) == 'about:blank') 
    alert('Eerst op laden drukken, en dan even enkele 
         tellen wachten, afhankelijk van de grootte van 
         het plaatje.'); 
    else
    {
    saveframe.document.execCommand('SaveAs', true);
    document.all.saveframe.src = '';
    }
  }

Je moet eigelijk alleen die download() hebben, maar dan moet je nog iets maken, dat er voor zorgt dat IE wacht, totdat het plaatje volledig geladen is, en dat ie dan die regel van preload() uitvoert.
Dus die 2 kan je bij elkaar stoppen dan, maar `t is mij niet gelukt nog.

If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router


  • DRvDijk
  • Registratie: Juni 2001
  • Laatst online: 17:10
DUS, net geen jaar na de vorige reply

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

Probeer eerst de filesize op te vragen en die mee te sturen in de content-length: header. Dan werkt het waarschijnlijk wel goed :)

Stop uploading passwords to Github!


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
* IS AL OPGELOST!!! *

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • Guillome
  • Registratie: Januari 2001
  • Niet online

Guillome

test

Hoe dan? Is het gelukt?
Op woensdag 15 mei 2002 11:19 schreef elviver het volgende:
DUS, net geen jaar na de vorige reply
Nou wat moet ik dan??
Een nieuwe topic openen, hier naar linken, de vraag quoten, en zeggen dat ik aardig op weg ben? Dan krijg ik een slotje.
Niezozeuren

If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Op woensdag 15 mei 2002 11:21 schreef XLerator het volgende:
Hoe dan? Is het gelukt?
Geen idee meer, is al een tijd geleden en kan me er niks meer van herinneren.

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • Guillome
  • Registratie: Januari 2001
  • Niet online

Guillome

test

:'( jammer :)

If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router

Pagina: 1