2016-10-04 12 views
1

私はテストプレートフォームを開発しています。私はファイルアップロードサービスをテストしたいと思います。 バイナリファイルを読み、私は、静的なファイルサーバを構築し、いくつかのAjaxは私のバイナリファイルを取得するために呼び出して行う必要がありますいるFormDataカルマジャスミンでバイナリファイルを読む

var file = someModule.readFile('test-data/roof-top.tif'); 

var formData = new FormData(); 

formData.append('file',file, 'uploadedFile'); 

または多分にそれを追加する方法はありますか?

const fs = require('fs'); 
var formData = new FormData(); 

fs.readFile('test-data/roof-top.tif', function(err, data){ 

    var blob = new Blob(data); 
    formData.append('file', blob, 'uploadedFile'); 

}); 

答えて

0

あなたはできる:あなたは次のシナリオは、そのような何かにつながる、その後、ファイルを読み込んでネイティブJSオブジェクトであるBlobを作成しているFormData

にファイルを追加するノードのFileSystemが必要になります

+0

ありがとうございました。 私はkarmaを静的ファイルを提供するように設定しました –

0

バイナリデータをテキスト(base64またはバイトの配列)としてエンコードしてみてください。他のテストデータと同じように、javascriptファイルとしてブラウザにロードすることができます。

これ以外にも、ファイルサーバーを設定するのはおそらく方法です。あなたは実際にKarma to serve static filesを得ることができます。自分でサーバを設定する必要はありません。

+1

クライアント側のテストコードでfsを使用することはできません。ブラウザでジャスミンコードが実行されます。 –

+0

node.jsでこれを実行していると思います。アップロードするファイルを選択しなくても、JSスクリプトからファイルを開くことはできません。 –

+0

私はシンプルなファイルサーバーを作成し、AjaxレスポンスのBlobオブジェクトを作成するよりも、非常に役に立ちました –