Supporto The Movie Database

I want to save the movie posters on webserver. For my website i´m using classic ASP, but i can´t find any solution how to save the image file. Can anyone help?

7 risposte (nella pagina 1 di 1)

Jump to last post

I don't have a asp example but I could send a php example if you would like.

Assuming that you allready have populated the json and u just want to save. Assuming that you have folder rights

here is an function that saves the image url to local file.



Response.Write SaveImage2LocalSystem("http://i.stack.imgur.com/rxByL.gif",".","myfile.gif")
'returns true or false


Public Function SaveImage2LocalSystem(ByVal ImageURL, ByVal DestinationFolder, ByVal ImageName)
    
    'constants
    Const adTypeBinary = 1
    Const adSaveCreateOverWrite = 2
    Const adSaveCreateNotExist = 1
    
    'declare
    Dim http , fso , Stream
    Set http    = CreateObject("Msxml2.ServerXMLHTTP")      'downloads
    Set fso     = CreateObject("Scripting.FileSystemObject")'directory
    Set Stream  = CreateObject("ADODB.Stream")              'saves
    
    'do the request
    http.open "GET", ImageURL,False
    http.send()
    
    'avoid error
    If http.Status >= 400 And http.Status <= 599 Then
        Response.Write "Error Occurred : " & http.Status & " - " & http.statusText
        SaveImage2LocalSystem = False
        Exit Function
    End If
    
    'Load BinaryData to Object
    Dim image : image = http.responseBody
    
    'convert the folder to real path
    DestinationFolder = Server.MapPath(DestinationFolder) & "\" '. or / will do
    
    'check and create
    If Not fso.FolderExists(DestinationFolder) Then fso.CreateFolder(DestinationFolder)
    
    'Save stream To File
    Stream.Type     = adTypeBinary
    Stream.Open
    Stream.Write image
    Stream.SaveToFile DestinationFolder & ImageName, adSaveCreateOverWrite
    Response.Write DestinationFolder & ImageName
    
    'or view
    'Response.BinaryWrite http.ResponseBody
    
    'close objects
    Set fso     = Nothing
    Set http    = Nothing
    Set Stream  = Nothing
    
    'return true or whatever
    SaveImage2LocalSystem = True
End Function

@Dale, I would like to see the PHP example :)

Here is my example:

You need to ensure each of the folder structure are created for each images.


$myimg1 = array('bIg5Hv4FZn9210BIO2wJ36MOjMF.jpg', 'aQpXLhmXQW69OaXsX6uv9F3zsuR.jpg');


 $original = "images/themoviedb/p/original";
 $w45 = "images/themoviedb/p/w45";
 $w92 = "images/themoviedb/p/w92";
 $w130 = "images/themoviedb/p/w130/"; 
 $w154 = "images/themoviedb/p/w154/";
 $w185 = "images/themoviedb/p/w185/";
 $w780 = "images/themoviedb/p/w780/";


foreach($myimg1 as $key => $value){

    $i = $value;
    if(!empty($i)){

        $fullpath = $original."/".basename($i);
        if(!file_exists($fullpath)){
            $originalImage = "http://image.tmdb.org/t/p/original/".$i;
            image_save_from_url($originalImage,$original);
            echo "Image original saved ". $fullpath ;
        }
        else { echo "Image original exist ". $fullpath; }

        $fullpath = $w45."/".basename($i);
        if(!file_exists($fullpath)){
            $w45Image = "http://image.tmdb.org/t/p/w45/".$i;
            image_save_from_url($w45Image,$w45);
            echo "Image w45 saved ". $fullpath;
        }
        else { echo "Image w45 exist ". $fullpath ; }

        $fullpath = $w92."/".basename($i);
        if(!file_exists($fullpath)){
            $w92Image = "http://image.tmdb.org/t/p/w92/".$i;
            image_save_from_url($w92Image,$w92);
            echo "Image w92 saved ". $fullpath ";
        }
        else { echo "Image w92 exist ". $fullpath; }

        $fullpath = $w130."/".basename($i);
        if(!file_exists($fullpath)){
            $w130Image = "http://image.tmdb.org/t/p/w130/".$i;
            image_save_from_url($w130Image,$w130);
            echo "Image w130 saved ". $fullpath;
        }
        else { echo "Image w130 exist ". $fullpath; }


        $fullpath = $w154."/".basename($i);
        if(!file_exists($fullpath)){
            $w154Image = "http://image.tmdb.org/t/p/w154/".$i;
            image_save_from_url($w154Image,$w154);
            echo "Image w154 saved ". $fullpath;
        }
        else { echo "Image w154 exist ". $fullpath ; }

        $fullpath = $w185."/".basename($i);
        if(!file_exists($fullpath)){
            $w185Image = "http://image.tmdb.org/t/p/w185/".$i;
            image_save_from_url($w185Image,$w185);
            echo "image w185 saved ". $fullpath ;
        }
        else { echo "Image w185 exist ". $fullpath ; }
    }   
}

function image_save_from_url($my_img,$fullpath){
    if($fullpath!="" && $fullpath){
        $fullpath = $fullpath."/".basename($my_img);
    }
    $ch = curl_init ($my_img);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
    curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
    $rawdata=curl_exec($ch);
    curl_close ($ch);
    if(file_exists($fullpath)){
        unlink($fullpath);
    }
    $fp = fopen($fullpath,'x');
    fwrite($fp, $rawdata);
    fclose($fp);
}

If you need any help let me know. I am using someone Image_save_from_url() function. Sorry that I couldn't give credit to the person I got it from.

Dale.

Thanks Dale, I'm having problems getting the images using AJAX and json

No problem. Sorry there was some format issues with my post. I have fixed it. Hope that helps.

Thanks Dale

Non riesci a trovare un film o una serie Tv? Accedi per crearlo.

Globale

s focalizza la barra di ricerca
p apri menu profilo
esc chiudi una finestra aperta
? apri finestra scorciatoia tastiera

Su tutte le pagine di media

b torna indietro (o al precedente quando applicabile)
e vai alla pagina di modifica

Nelle pagine delle stagioni TV

(freccia destra) vai alla stagione successiva
(freccia sinistra) vai alla stagione precedente

Nelle pagine degli episodi TV

(freccia destra) vai all'episodio successivo
(freccia sinistra) vai all'episodio precedente

Su tutte le pagine di immagini

a apri finestra aggiungi immagine

Su tutte le pagine di modifica

t apri selettore traduzione
ctrl+ s invia modulo

Sulle pagine di discussione

n crea nuova discussione
w segna come visto/non visto
p cambia publico/privato
c cambia chiuso/aperto
a apri attivita
r rispondi alla discussione
l vai all'ultima risposta
ctrl+ enter invia il tuo messaggio
(freccia destra) pagina successiva
(freccia sinistra) pagina precedente

Impostazioni

Vuoi valutare o aggiungere quest'elemento a una lista?

Accedi