2014-08-28 38 views
0

有道一個相關的問題是在這裏問 move file uploaded from nanohttpd's Temporary directory to SD cardJava的Android的nanohttpd - 從臨時存儲上傳的文件複製到內置存儲

參考提問請求複製一個nanohttpd上傳文件到外置SD卡。但是,如果我們希望在內部存儲器中有上傳文件的副本,我們該怎麼做?(例如根據什麼設備偏好是sdcard還是內部存儲器來分配系統)

問題的作者確實發現一種從nanohttpd服務器複製上傳文件的類方法(使用從簡單的類方法複製到特定目錄)https://stackoverflow.com/a/4770586/1673000

但是,我們應該如何以及在哪裏實現代碼? (考慮到正確的做法)

  • 我們應該將這個代碼實現到nanohttpd源文件中嗎? (例如NanoHttpd.java),如果是這樣,我們如何將代碼實現到主類文件中。
  • 我們是否能夠保持nanohttpd.java源文件完整無缺,並且可能在另一個類文件中添加此特定功能? (例如,另一個「擴展了NanoHTTPD」的類文件,並解析了一些示例HTML代碼),或者推薦使用乾淨的設計結構的程序是什麼?

側面說明: 我希望我能在nanohttpd操作後直接拷貝文件完成,但臨時文件總是被刪除nanohttpd被關閉之後。

感謝閱讀

+0

,您的應用程序可能只是在關閉之前將這些文件複製。爲什麼不?我想如果你做三次上傳,會有三個文件? – greenapps 2014-08-28 22:35:06

回答

0

要上傳的文件移動到內部/外部存儲,所有你需要做的是:

  1. 器具TempFileManagerFactory
  2. 器具TempFileManager
  3. 器具臨時文件
  4. 終於在創建服務器後,致電

server.setTempFileManagerFactory(new FileFactory());

  • 爲了得到上載的文件的文件名
  • 地圖文件=新的HashMap();

    session.parseBody(files);

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

  • 然後你就可以作爲你的應用正在轉向nanohttpd關閉訪問文件