2014-07-09 62 views
-1

在Google App Engine SDK中,我想讀取數千個音頻文件並將它們保存到本地Blobstore。完成之後,我會將整個blobstore上傳到雲中。google app engine sdk:讀取mp3文件並保存到本地blobstore

創建一個用於上傳音頻文件的HTML表單是不可接受的,因爲有成千上萬的文件並且不可能一個一個的上傳。

以下是我假想的解決方案:

型號:

class MP3(ndb.Model): 
    video = StringProperty() 
    ... 

Python程序在本地運行:

mp3 = MP3() 
file = open(fn)  # 'fn': file name of an mp3 file 
save_to_blobstore(file) 
mp3.video = blobstore_key() 
mp3.put() 

在上面,如何實現save_to_blobstore()blobstore_key()

回答

1

我不知道我理解你的問題。 App Engine在Google雲基礎架構上運行,因此blobstore已經在雲中。也許你的意思是Google Cloud Storage?

如果您的目標是讓您的音頻文件進入Google雲端存儲,那麼您根本不需要使用App Engine - 只需使用gsutilcopy the files即可。

如果您確實想使用App Engine,還可以使用HTML表單上傳文件。通過實現multiple屬性,您可以隨意選擇多個文件。然後,您可以使用javascript和ajax上傳數據,使用FormData對象。 Here's an example using drag and drop.

+0

嗨Gwyn,你完全知道我在做什麼。我們正在開發一個App Engine應用程序,我們曾經使用html表單上傳多媒體文件並將其存儲在blobstore中。但是,如果有成千上萬的文件,這不是一個好主意。所以我們認爲在本地填充blobstore可能會更好,然後上傳blobstore(太糟糕了,App Engine不允許創建文件)。我會嘗試你的建議。非常感謝。 –

相關問題