15

Json オブジェクト (JsonExport) を書き込もうとしていますが、その内容をテキスト ファイルに書きたいと思っています。

サーバーにエクスポートするために max4live を使用してオーディオ DAW から Json にデータをエクスポートしていますが、その後、Json オブジェクト全体をテキスト ファイルで表示したいと考えています。

 var txtFile = "test.txt";
 var file = new File(txtFile);
 var str = JSON.stringify(JsonExport);


 file.open("write"); // open file with write access
 file.write(str);
 file.close();

コンパイラはエラーなしで実行されますが、テキスト ファイルを取得できません。一部のディレクトリへのパスも使用しましたが、何も使用しませんでした。

何が起こっているのか分かりますか?ありがとう

4

3 に答える 3

16

既存のファイルにアクセスできる場合は、そのファイルにリンクするだけです。ダウンロードしたファイル名を次のように指定できます。

<a href="path/to/file.txt" download="example.json">
    Download as JSON
</a>

必要に応じて、dataURI も書き出すことができます

 //Get the file contents
 var txtFile = "test.txt";
 var file = new File(txtFile);
 var str = JSON.stringify(JsonExport);

 //Save the file contents as a DataURI
 var dataUri = 'data:application/json;charset=utf-8,'+ encodeURIComponent(str);

 //Write it as the href for the link
 var link = document.getElementById('link').href = dataUri;

次に、リンクに ID とデフォルトを指定します。href

<a href="#" id="link" download="example.json">
    Download as JSON
</a>
于 2015-11-18T12:49:06.587 に答える
8

ついにできた!次のようないくつかのパラメーターを変更することで機能しました。

   var txtFile = "/tmp/test.txt";
   var file = new File(txtFile,"write");
   var str = JSON.stringify(JsonExport);

   log("opening file...");
   file.open(); 
   log("writing file..");
   file.writeline(str);
   file.close();

ディレクトリへのパスが許可されていないため、/tmp ディレクトリに保存する必要がありました。ありがとうございます!

于 2015-11-19T10:46:47.640 に答える