2016-07-08 2 views
1

現在、Dropboxクライアントのjsスクリプトを使用して、フォルダにzipファイルをプッシュしています(テストでは、数k、プロダクションでは数百メガバイト)サーバ/バックエンドなので、サーバURLではなく配列バッファからの投稿です。クライアントからKloudless saverにファイルを送信する

var zip = new JSZip(); 
    zip.file("test.txt", "Hello World\n"); 
    var content = zip.generate({type:"arraybuffer"}); 
    // ... code to pick a dropbox folder ...// 
    client.writeFile(url+"/"+fileName, content, function(error){ ... etc 

このすべてが正常に動作します - クライアントが(Dropboxの自身のSaverを行うことが、残念ながらできません)バイナリファイルを書き込むことができます。私はKloudlessが同じことをすることができるかどうかを確かめようとしています。何とかしてGoogle、ボックスなどをサポートする必要があるからです。そのセーバーについてhttps://github.com/kloudless/file-explorer/のドキュメントファイルはURLの配列ですと言う..

explorer({ 
... 
files: [{ 
    "url": "http://<your image url>", 
    "name": "filename.extension" 
}, 

URL.createObjectURL(blob)を使用してローカルストレージファイル参照を好きにいないようですので、私はAPIを推測しているリモートサービスを語っていますデータをプッシュするのではなくファイルをプルすることができます。

答えて

0

Kloudless APIバックエンドサーバーは、ファイルをアップロードするクラウドサービス(Dropboxアカウントのフォルダなど)のいずれかで、URLから最終的な宛先にファイルをストリームするのは間違いありません。

ファイルがクライアント側にのみ存在する場合は、Kloudless Chooserを使用して、ファイルを保存するフォルダを選択し、クライアント経由でそのファイルデータをアップロードするようにユーザーに指示することをお勧めします手動で行う。

これを行うには、この構成例を参照してください:私が設定しているhttps://jsfiddle.net/PB565/139/embedded/

retrieve_tokenstrueにので、私のクライアント側のJavaScriptは、ユーザがデータへのアップロードすることを選択したフォルダだけではなく、メタデータを受信することが、ユーザーのアカウントにアクセスするために使用するベアラートークン。これにより、クライアント側のJavaScriptは、uploadまたはmultipart uploadをKloudlessに要求して、ファイルデータをそのフォルダにアップロードすることができます。マルチパートアップロードの利点は、1つのチャンクをアップロードする際にエラーが発生しても、アップロード全体を再試行する必要がないことです。

ファイルエクスプローラをホストしているドメインをKloudless AppのTrusted Domains(App Details page)に追加して、実際に応答JSコールバックにベアラトークンを受け取れるようにしてください。私のJSFiddleの例では、クライアント側からKloudless APIへのさらなるリクエストを実行するためにベアラトークンを受け取れるように、私のアプリケーションのTrusted Domainsリストに 'fiddle.jshell.net'を追加する必要があります。

関連する問題