0

関連する質問がここで尋ねられました nanohttpdの一時ディレクトリからSDカードにアップロードされたファイルを移動します

参照質問者は、nanohttpd でアップロードしたファイルを外部 SD カードにコピーするよう求めています。ただし、アップロードされたファイルのコピーを内部ストレージ内に保持したい場合は、どうすればよいでしょうか?(たとえば、デバイス設定が SD カードまたは内部ストレージであるかに応じてシステムが割り当てられます)。

質問の作成者は、nanohttpd サーバーからアップロードされたファイルのコピーを作成するためのクラス メソッドを見つけました (特定のディレクトリとの間でコピーする単純なクラス メソッドを使用) https://stackoverflow.com/a/4770586/1673000

しかし、コードをどこにどのように実装すればよいのでしょうか? (適切なアプローチを念頭に置いて)

  • このコードを nanohttpd ソース ファイルに実装する必要がありますか? (NanoHttpd.java など) その場合、コードをメイン クラス ファイルにどのように実装しますか。
  • nanohttpd.java ソース ファイルを変更せずにそのままにして、おそらく別のクラス ファイルにこの特定の機能を追加することはできますか? (たとえば、いくつかのサンプル HTML コードを解析して「NanoHTTPD を拡張する」別のクラス ファイル) またはクリーンな設計構造を持つという点で推奨される手順は何ですか?

補足: nanohttpd 操作が完了した直後にファイルをコピーできることを望んでいましたが、nanohttpd がオフになった直後に一時ファイルが常に削除されます。

読んでくれてありがとう

4

1 に答える 1

0

アップロードしたファイルを内部/外部ストレージに移動するには、次の手順を実行する必要があります。

  1. TempFileManagerFactory を実装します
  2. TempFileManager を実装します
  3. TempFile を実装します
  4. 最後にサーバーを作成した後、呼び出します

server.setTempFileManagerFactory(新しい FileFactory());

  1. アップロードされたファイルのファイル名を取得するには

マップ ファイル = new HashMap();

session.parseBody(ファイル);

Log.d(TAG, files.toString());

  1. その後、ファイルにアクセスできます
于 2014-12-11T17:19:19.330 に答える