#1
  1. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Dec 2007
    Posts
    46
    Rep Power
    7

    Decode Base64 file and allow to download it


    I am currently working on an API which saves files in the database using base64 encoding. Using the API I am able to retrieve the file details however how do I go about decoding this file and offer it to be downloaded to the person accessing it?

    API retrieves the following information:

    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <attachments>
    <attachment>
    <id><![CDATA[1]]></id>
    <ticketid><![CDATA[1]]></ticketid>
    <ticketpostid><![CDATA[7]]></ticketpostid>
    <filename><![CDATA[574676_436949196354271_1469429872_n.jpg]]></filename>
    <filesize><![CDATA[18808]]></filesize>
    <filetype><![CDATA[image/pjpeg]]></filetype>
    <dateline><![CDATA[1354022822]]></dateline>
    <contents><![CDATA[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]]></contents>
    </attachment>
    </attachments>
    The file can be any type of files - image, PDF, etc. I want to read the file and offer it to be downloaded as:

    Filename (link to download on it) - File size - Date

    Thank You for your reply in advance.
  2. #2
  3. Come play with me!
    Devshed Supreme Being (6500+ posts)

    Join Date
    Mar 2007
    Location
    Washington, USA
    Posts
    13,749
    Rep Power
    9397
    Use the <filetype> like
    PHP Code:
    header("Content-Type: {$filetype}"); 
    Add another header
    PHP Code:
    header("Content-Transfer-Encoding: base64"); 
    Then output the <contents> and the client will decode it automatically. If there are problems with that, perhaps a dumb client, then remove the Content-Transfer-Encoding header and decode the content yourself.
  4. #3
  5. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Dec 2007
    Posts
    46
    Rep Power
    7
    Thank you for the reply. However if I use the following code it just prints junk characters
    PHP Code:
    $attachmentFile curl_init();
    curl_setopt($attachmentFileCURLOPT_URL$attachmentFileURL);
    curl_setopt($attachmentFileCURLOPT_HTTPGETtrue);
    curl_setopt($attachmentFileCURLOPT_CUSTOMREQUEST'GET');
    curl_setopt($attachmentFileCURLOPT_POSTFIELDSfalse);
    curl_setopt($attachmentFileCURLOPT_RETURNTRANSFERtrue);
    $attachmentFileresult curl_exec($attachmentFile);
    curl_close($attachmentFile);
     
    $attachmentfiles = new SimpleXMLElement($attachmentFileresult);
     
    foreach (
    $attachmentfiles -> attachment as $row){
    // Assign necessary variable to work upon
    $filename $row -> filename;
    $filetype $row -> filetype;
    $filesize $row -> filesize;
    $file $row -> contents;
    $file base64_decode($file);
     
    header("Content-type: $filetype");
    header("Content-length: $filesize");
    header("Content-Disposition: attachment; filename=$filename");
         
    echo 
    $file;

  6. #4
  7. Come play with me!
    Devshed Supreme Being (6500+ posts)

    Join Date
    Mar 2007
    Location
    Washington, USA
    Posts
    13,749
    Rep Power
    9397
    Well, to start with you can't output multiple files at once. Only one at a time.
  8. #5
  9. No Profile Picture
    Contributing User
    Devshed Intermediate (1500 - 1999 posts)

    Join Date
    Sep 2006
    Posts
    1,801
    Rep Power
    529
    Your multiple headers doesn't make sense:
    PHP Code:
    foreach ($attachmentfiles -> attachment as $row){
    ...
    header("Content-type: $filetype");
    header("Content-length: $filesize");
    header("Content-Disposition: attachment; filename=$filename");
    ...

    Try adding the following after curl_close($attachmentFile); and seeing what it looks like.
    PHP Code:
    exit('<pre>'.print_r($attachmentFileresult,1).'</pre>'); 
    Afterwards, add something similar after $attachmentfiles = new SimpleXMLElement($attachmentFileresult);
  10. #6
  11. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Dec 2007
    Posts
    46
    Rep Power
    7
    This is the output for the <pre> code:
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <attachments>
    <attachment>
    <id><![CDATA[1]]></id>
    <ticketid><![CDATA[1]]></ticketid>
    <ticketpostid><![CDATA[7]]></ticketpostid>
    <filename><![CDATA[574676_436949196354271_1469429872_n.jpg]]></filename>
    <filesize><![CDATA[18808]]></filesize>
    <filetype><![CDATA[image/pjpeg]]></filetype>
    <dateline><![CDATA[1354022822]]></dateline>
    <contents><![CDATA[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]]></contents>
    </attachment>
    </attachments>
    I changed the code considering there is just one attachment in the example I am trying yet it does not work:
    PHP Code:
        $attachmentFile curl_init(); 
        
    curl_setopt($attachmentFileCURLOPT_URL$attachmentFileURL);
        
    curl_setopt($attachmentFileCURLOPT_HTTPGETtrue);
        
    curl_setopt($attachmentFileCURLOPT_CUSTOMREQUEST'GET'); 
        
    curl_setopt($attachmentFileCURLOPT_POSTFIELDSfalse); 
        
    curl_setopt($attachmentFileCURLOPT_RETURNTRANSFERtrue);
        
    $attachmentFileresult curl_exec($attachmentFile); 
        
    curl_close($attachmentFile);
        
        
    // echo "<pre>"; 
        // echo htmlentities($attachmentFileresult);
        
        
    $attachmentfiles = new SimpleXMLElement($attachmentFileresult);
        
        foreach (
    $attachmentfiles -> attachment as $row){
            
    // Assign necessary variable to work upon
            
    $filename = (string)$row -> filename;
            
    $filetype = (string)$row -> filetype;
            
    $filesize = (string)$row -> filesize;
            
    $file = (string)$row -> contents;
            
    $file base64_decode($file);
        }
                
            
    header("Content-type: $filetype");
            
    header("Content-length: $filesize");
            
    header("Content-Disposition: attachment; filename=$filename");
            
            
    readfile($file);
            
    //echo $filesize; 
    Last edited by eludic; January 15th, 2013 at 12:53 AM.
  12. #7
  13. No Profile Picture
    Contributing User
    Devshed Intermediate (1500 - 1999 posts)

    Join Date
    Sep 2006
    Posts
    1,801
    Rep Power
    529
    A good life is when you smile often, dream big, laugh a lot and realize how blessed you are for what you have.
    Change readfile($file); to echo($file);

    http://php.net/manual/en/function.readfile.php accepts just the files name with path on the server. $file is the actual binary file.
  14. #8
  15. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Dec 2007
    Posts
    46
    Rep Power
    7
    Thank You for the replies

    I managed to fix it. Thanks again

IMN logo majestic logo threadwatch logo seochat tools logo