Avatar billede alexander_j Nybegynder
22. januar 2005 - 11:12 Der er 14 kommentarer og
1 løsning

upload til mySQL og download pdf

Hej jeg har lavet lidt kode der gør at man kan uploade filer til en mySQL-database - og det fungerer for så vidt udemærket. Problemet kommer først når filerne skal downloades igen - word og jpg mv. virker fint nok med den kode jeg har, men pdf-filer melder fejl hver gang(document was damaged and could not be opened).

Mit spørgsmål er hvorfor melder den efj og hvordan undgås dette? Og er det muligt at lave det således at folk kan højreklikke på linket til min php-fil(den der henter data) og gemme det uploadede dokument?

Min database gemmer tre oplysninger om filen type(filetype), størrelse(filesize) og data(filecode) - derudover gemmes der naturligvis et unikt id til hver fil i databasen.

Nedenstående er den php-fil der kaldes når data skal hentes!

Min kode ser sådan her ud:
include 'mindatabaseforbindelse.php';
$q = mysql_query("SELECT * FROM mindatabse WHERE id=".$_REQUEST["id"]) or die(mysql_error());
if (mysql_num_rows($q)) {
    extract(mysql_fetch_array($q));
    if (strstr($HTTP_USER_AGENT,"MSIE 5.5")) {
        $attachment = "";
    } else {
        $attachment = "attachment";
    }
    header("Expires: Mon, 31 Dec 2004 00:00:00 GMT");
          header("Last-Modified: " . gmdate("D, d M Y H:i ") . " GMT"); 
    header("Pragma: no-cache");
    header("Content-disposition: $attachment filename=\"$filename\"");
    header("Content-type: $filetype");
    print $filecode;
} else {
    print "404 - file not found!";
}
Avatar billede erikjacobsen Ekspert
22. januar 2005 - 11:57 #1
Hvad står der i feltet 'filetype' for PDF dokumenter, der ikke virker?
Avatar billede alexander_j Nybegynder
22. januar 2005 - 12:18 #2
Den skriver: 'application/pdf'
Avatar billede alexander_j Nybegynder
22. januar 2005 - 12:23 #3
Hmm .gif virker heller ikke(forsøges på min maskine at åbnes via 'Windows billed- og faxfremviser') og typen hedder 'image/gif' i databasen, men .jpg .txt og .doc virker fint!
Avatar billede erikjacobsen Ekspert
22. januar 2005 - 12:26 #4
Når de andre virker som de skal putter du det sikkert korrekt i databasen, så det
virker lidt mystisk. Du har ikke et link til siden, så der kan eksperimenteres lidt ?
Avatar billede alexander_j Nybegynder
22. januar 2005 - 12:45 #5
send mig en mail - det er nemlig under login - og jeg er ikke vild med at hvem som helst kan putte ting ind (selv ikke i en begrænset periode), men jeg kan oprette et midlertidigt logon til dig!

alexander.juhl(a)skolekom.dk
Avatar billede erikjacobsen Ekspert
22. januar 2005 - 13:02 #6
lidt senere - har ikke så meget tid lige nu
Avatar billede erikjacobsen Ekspert
22. januar 2005 - 15:35 #7
Det har muligvis ikke med sagen at gøre, men du skal i hvert fald rette en formel fejl.

    header("Content-disposition: $attachment filename=\"$filename\"");
    header("Content-type: $filetype");

skal være

    header("Content-Disposition: $attachment filename=\"$filename\"");
    header("Content-Type: $filetype");
Avatar billede alexander_j Nybegynder
22. januar 2005 - 17:47 #8
Jeg er en mester i formelle fejl :-D
Og nej desværre hjalp det ikke!
Avatar billede alexander_j Nybegynder
22. januar 2005 - 17:48 #9
Jeg må vel gå over til upload til en mappe (synes bare det var smart i en mySQL-database)!
Avatar billede alexander_j Nybegynder
12. februar 2005 - 16:42 #10
hmm ingen hjælp?
Avatar billede erikjacobsen Ekspert
12. februar 2005 - 17:08 #11
Ikke med de oplysninger. Kan du ikke lave et sted vi kan prøve?
Avatar billede alexander_j Nybegynder
12. februar 2005 - 17:14 #12
Jeg har jo bedt dig sende mig en mail på alexander.juhl(snabelting)skolekom.dk, så jeg kunne give dig et brugernavn og kodeord!
Avatar billede erikjacobsen Ekspert
12. februar 2005 - 17:37 #13
Ja, men det er jeg ikke så meget for - så er det kun mig der kan hjælpe dig.
Avatar billede alexander_j Nybegynder
12. februar 2005 - 17:40 #14
Andre er også velkomne til at sende en mail!
Avatar billede alexander_j Nybegynder
22. marts 2005 - 20:46 #15
Stadig ingen svar der kan bruges :-(

Jeg lukker og slukker!
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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