2012-10-23 77 views
0

我嘗試視頻的上傳與Brightcove公司在Java的集成:谷歌應用程序引擎 - Brightcove公司整合

http://support.brightcove.com/en/docs/java-example-upload-video

但隨着GAE我們不能在磁盤上寫的,所以我得到以下異常:

java.lang.NoClassDefFoundError: java.rmi.server.UID is a restricted class. Please see the Google App Engine developer's guide for more details.

發生

例外在這一行:(UploadVideo.java)

// Parse the request into a list of DiskFileItems 
List items = upload.parseRequest(request); 

因爲它試圖使用org.apache.commons.fileupload.disk.*,它不適用於GAE。

我正在尋找解決方法。看起來像它可能是非常棘手,所以我打開任何建議

回答

1

一個常見的方法是使用BlobStore。請參閱:https://developers.google.com/appengine/docs/java/blobstore/overview
這個想法是:通過您的網頁表單提供blobstore創建的上傳網址(即brightcove示例中的「使用HTML表單上傳」部分)。 blobstore的createUploadUrl函數帶有一個參數,它是一個回調URL ...即,在文件上傳並存儲到BlobStore後,GAE將請求您的回調URL。在該請求中,您可以通過JSON將視頻blob發送到Brightcove(或者,也許更好,產生一個任務以將其發送到Brightcove)。

Google Cloud Storage是另一種選擇,請參閱:https://developers.google.com/appengine/docs/java/googlestorage/overview
您可以寫入雲存儲請求流,而不寫入文件。

+0

是的,我認爲BlobStore不會工作,因爲文件的大小。我已經看過Google Cloud Storage,我想我會一路走下去,不用BrightCove,感謝您的幫助! –