2013-10-20 49 views
0

我正在使用Python和Bottle處理Snapchat的API包裝,但爲了返回文件(由Python腳本檢索),我必須保存字節(由Snapchat返回)到一個.jpg文件。我不太清楚我將如何執行此操作,但仍然能夠訪問該文件以便返回。這裏就是我有這麼遠,但它404如何將字節保存到圖像並從Bottle中訪問它

@route('/image') 
def image(): 
    username = request.query.username 
    token = request.query.auth_token 
    img_id = request.query.id 
    return get_blob(username, token, img_id) 

def get_blob(usr, token, img_id): 
    # Form URL and download encrypted "blob" 
    blob_url = "https://feelinsonice.appspot.com/ph/blob?id={}".format(img_id) 
    blob_url += "&username=" + usr + "&timestamp=" + str(timestamp()) + "&req_token=" + req_token(token) 
    enc_blob = requests.get(blob_url).content 
    # Save decrypted image 
    FileUpload.save('/images/' + img_id + '.jpg') 
    img = open('images/' + img_id + '.jpg', 'wb') 
    img.write(decrypt(enc_blob)) 
    img.close() 
    return static_file(img_id + '.jpg', root='/images/') 

回答

1

你是否有意當你寫映像文件使用相對路徑返回? (文件位置隨後將取決於你的程序的當前工作目錄。)

也許改變這一行

img = open('images/' + img_id + '.jpg', 'wb') 

這個

img = open('/images/' + img_id + '.jpg', 'wb') 

會做的伎倆?

+0

謝謝!我最終保存到一個本地文件夾(因爲我在localhost上臨時運行它),然後意識到當我保存它時,我正在使用'img = open('images /'+ img_id +'.jpg',' wb')'當我返回它時,我正在使用'static_file(img_id +'.jpg',root ='/ images /'' –

相關問題