2012-10-14 2 views
6

Desidero creare la seguente pagina Web utilizzando CocoaHTTPServer: deve essere presente un collegamento per scaricare un file, ma il file di origine deve essere NSData oggetto in memoria.CocoaHTTPServer su iOS: configurare il server in modo che l'utente possa scaricare NSData come file

Per quanto vedo nei campioni, c'è un modo semplice per collegare alcuni file su iPhone al collegamento ipertestuale. È possibile "collegare" NSData?

Sarebbe molto grato per gli esempi.

risposta

7

Tutto ciò che devi fare è restituire HTTPDataResponse nella sottoclasse HTTPConnection.

Se volete un esempio dare un'occhiata al campione CocoaHTTPServer chiamato DynamicServer e sostituire - httpResponseForMethod: URI: in MyHTTPConnection con qualcosa di simile a quanto segue:

- (NSObject<HTTPResponse> *)httpResponseForMethod:(NSString *)method URI:(NSString *)path 
{ 
    // Before returning you can analyze the passed path argument and select the correct data object to return... 
    return [[HTTPDataResponse alloc] initWithData:placeYourDataInstanceHere]; 
} 
+0

Hah! Così semplice, come mi sono perso ... Grazie! – brigadir

+0

Come si analizzano i dati della richiesta se si tratta di un 'POST' invece di un' GET'? Ad esempio, se i dati 'JSON' vengono inviati con la richiesta. – zakdances

+0

Non sono sicuro di cosa tu sia interessato a sapere. Il metodo di richiesta ('GET',' POST', 'PUT',' DELETE', ...) viene inviato come metodo primo '(NSString *)' al metodo. – miho