2015-06-01 1 views
0

Я хочу отправить в том же HTTP-ответе (с вихревым) как ответ JSON, так и zip-приложение. Является ли это возможным?Отправить JSON и zip-приложение в том же ответе с помощью cherrypy

Сейчас мой код:

def GET(self, **params): 
    result, data = getData(params) 
    cherrypy.response.headers['Content-Disposition'] = 'attachment; filename="resp.zip"' 
    return data 

, с которым я могу скачать приложение. Как отправить сообщение JSON?

+0

поэтому вы хотите отправить в том же ответе 2 типа содержимого 'json' и' zip', правильно? –

+0

Точно, JSON как ответ и почтовый индекс того же типа .. Возможно ли это? – gc5

+0

Я так не думаю, так как это два разных значения заголовка Content-Type. Я бы сделал это, как сказал @ andrew-kloos. Верните 'json' со ссылкой на файл' zip' внутри. –

ответ

0

Ok вам нужно сделать что-то вроде этого ...

$.ajax({ 
    url: 'your-url-that-gives-zip-file.html', 
    dataType: 'JSON', 
    success: function(response){ 
     if(response.zip) { 
      location.href = "GetZip?=zip" + response.zip; 
     } 
    } 
}); 

Вашего CherryPy обработчик:

@cherrypy.expose 
def GetZip(self, zip=""): 
    return """ 
    <!-- Get your zip file code with and combine with http://youradress.com --> 
    <a href='http://youraddress.com/downloads/' + zip 
    """ 

Надеется, что это помогает!