- Web アプリからダウンロードしたファイルは、常にクライアント ブラウザーで指定されたダウンロード場所に配置されます。ユーザーはuiputfileダイアログボックスでファイル名を指定できますが、保存先フォルダはブラウザの設定からのみ変更できます。
- Web アプリがアプリの検索パスに沿っていない (つまり、アプリ/セッション キャッシュの外部) サーバー コンピューター上のファイルを参照している場合は、アプリ サービスがこれらのファイルにアクセスできることを確認してください。(https://jp.mathworks.com/help/webappserver/ug/set-up-matlab-web-app-server.html#mw_9d711692-de48-492d-902e-95d0c3f09fc2)
- uiputfile と uigetfile は Web アプリとの間でのファイルの受け渡しに対応していますが、uigetdir 関数は Web アプリでの使用はサポートされていません。(https://jp.mathworks.com/help/webappserver/ug/unsupported-functionality.html#mw_6b3fd2a9-b7e8-4565-96c5-95859eaa9f99)
MATLAB Web App Server 上で動作するアプリからファイルをダウンロードするにはどうすればよいですか?
11 ビュー (過去 30 日間)
古いコメントを表示
MathWorks Support Team
2024 年 8 月 22 日
回答済み: MathWorks Support Team
2024 年 8 月 22 日
サーバーマシン上の MATLAB Web App Server で複数の Web アプリを実行しています。ユーザーが Web アプリからローカルマシンにファイルをダウンロードする方法を検討中です。しかし、save や exportgraphics などの関数を使用すると、ファイルはサーバーマシンに出力されます。
Web アプリからユーザーのローカルマシンにファイルを保存するにはどうすればよいでしょうか。
採用された回答
MathWorks Support Team
2024 年 8 月 22 日
Web アプリからクライアントマシンにファイルを保存するには、uiputfile を使用してダウンロード場所へのパスを取得します。このパスを save、exportgraphics などの関数にてファイルの保存先として使用することによりユーザー用のファイルをダウンロードできます。
たとえば、アプリの app.UIAxes コンポーネントに現在表示されているグラフを .PNG ファイルとして保存するには、 次のようにします。
% Get the path to the download location
[f, p] = uiputfile('*.png');
% Save the plot to the specified path
exportgraphics(app.UIAxes,fullfile(p,f));
複数のファイルを一度にダウンロードする場合は zip コマンドを使用してファイルを 1 つの .ZIP ファイルに圧縮し、これをクライアントマシンに保存します。
% Get the path to the download location
[f, p] = uiputfile('*.zip');
% Zip 3 files and save them to the specified path
zip(fullfile(p,f),{'file1.mat','file2.mat','file3.mat'});
注意すべき追加の点がいくつかあります。
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で ビッグ データの処理 についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!