【问题标题】:java android nanohttpd - proper way to copy file uploaded from the temporarily storage to internal storagejava android nanohttpd - 将上传的文件从临时存储复制到内部存储的正确方法
【发布时间】:2014-08-28 18:07:00
【问题描述】:

这里提出了一个相关问题 move file uploaded from nanohttpd's Temporary directory to SD card

参考提问者要求将 nanohttpd 上传的文件复制到外部 sd 卡。但是,如果我们希望在内部存储中拥有上传文件的副本,我们该怎么做呢?(例如根据设备偏好分配的系统是 sdcard 还是内部存储)

问题的作者确实找到了一种从 nanohttpd 服务器复制上传文件的类方法(使用一个简单的类方法从特定目录复制到特定目录)https://stackoverflow.com/a/4770586/1673000

但是,我们应该如何以及在哪里实施这些代码? (考虑到正确的方法)

  • 我们应该将此代码实现到 nanohttpd 源文件中吗? (例如 NanoHttpd.java)如果是这样,我们如何将代码实现到主类文件中。
  • 我们是否能够保持 nanohttpd.java 源文件完整而无需修改,并将这个特殊功能添加到另一个类文件中? (例如,另一个“扩展 NanoHTTPD”的类文件,其中包含一些正在解析的示例 HTML 代码)或者就具有简洁的设计结构而言,推荐的程序是什么?

旁注: 我希望我可以在 nanohttpd 操作完成后直接复制文件,但临时文件总是在 nanohttpd 关闭后立即被删除。

感谢阅读

【问题讨论】:

  • 当您的应用关闭 nanohttpd 时,您的应用可以在关闭前复制这些文件。为什么不?我想如果你做三个上传会有三个文件?

标签: java android file design-patterns nanohttpd


【解决方案1】:

要将上传的文件移动到内部/外部存储,您只需:

  1. 实现 TempFileManagerFactory
  2. 实现 TempFileManager
  3. 实现 TempFile
  4. 最后创建服务器后,调用

server.setTempFileManagerFactory(new FileFactory());

  1. 获取上传文件的文件名

映射文件 = new HashMap();

session.parseBody(文件);

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

  1. 然后你就可以访问该文件了

【讨论】:

    猜你喜欢
    • 2015-09-14
    • 2023-03-05
    • 1970-01-01
    • 2020-02-22
    • 1970-01-01
    • 2014-06-12
    • 2012-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多