Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java android nanohttpd—将上载的文件从临时存储复制到内部存储的正确方法_Java_Android_File_Design Patterns_Nanohttpd - Fatal编程技术网

java android nanohttpd—将上载的文件从临时存储复制到内部存储的正确方法

java android nanohttpd—将上载的文件从临时存储复制到内部存储的正确方法,java,android,file,design-patterns,nanohttpd,Java,Android,File,Design Patterns,Nanohttpd,这里提出了一个相关问题 参考提问者要求将nanohttpd上传文件复制到外部sd卡。但是,如果我们希望在内部存储器中拥有上传文件的副本,我们如何做到?(例如,根据SD卡或内部存储器的设备首选项分配系统) 问题的作者确实找到了一个类方法,用于从nanohttpd服务器复制上传的文件(使用一个简单的类方法,可以从特定目录复制到特定目录) 然而,我们应该如何以及在何处实施这些准则?(考虑到适当的方法) 我们是否应该将此代码实现到nanohttpd源文件中?(例如NanoHttpd.java)如果是

这里提出了一个相关问题

参考提问者要求将nanohttpd上传文件复制到外部sd卡。但是,如果我们希望在内部存储器中拥有上传文件的副本,我们如何做到?(例如,根据SD卡或内部存储器的设备首选项分配系统)

问题的作者确实找到了一个类方法,用于从nanohttpd服务器复制上传的文件(使用一个简单的类方法,可以从特定目录复制到特定目录)

然而,我们应该如何以及在何处实施这些准则?(考虑到适当的方法)

  • 我们是否应该将此代码实现到nanohttpd源文件中?(例如NanoHttpd.java)如果是这样,我们如何将代码实现到主类文件中
  • 我们是否能够保持nanohttpd.java源文件的完整性而不进行修改,并在另一个类文件中添加此特定功能?(例如,另一个类文件“扩展了NanoHTTPD”,并解析了一些示例HTML代码)或者,就具有干净的设计结构而言,建议采用什么程序
旁注: 我希望在nanohttpd操作完成后可以直接复制该文件,但在nanohttpd关闭后,临时文件总是会立即被删除


感谢阅读

要将上载的文件移动到内部/外部存储器,您只需执行以下操作:

  • 实现TempFileManagerFactory
  • 实现TempFileManager
  • 实现临时文件
  • 最后,在创建服务器之后,调用
  • setTempFileManagerFactory(新文件工厂())

  • 获取上载文件的文件名
  • 映射文件=新的HashMap()

    session.parseBody(文件)

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

  • 然后您可以访问该文件

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