电脑端如何访问手机SD卡中的文件

简介: 基于AndServer所提供的功能,是不是我们就可以以自己的手机做为一个服务器,来部署一个网站呢?这个必须可以,AndServer中已经提供了部署的方式,部署完毕后,无非就是,电脑端访问服务器(也就是自己手机)里的各个文件

看到标题,估计各位看官有点懵,访问SD卡中的文件,你连上数据线不就行了,或者说你想要获取一些数据,你用及时通讯(微信,钉钉,QQ等等),在线传输不就行了,这些都可以的啊,有什么难的吗?哎,各位小老弟,还真有一种情况的出现,我们公司就是一个特例,每个人的电脑,都屏蔽了USB访问设备的权限,也就是说,你是硬盘,U盘,还是数据线,插上后,是没有权限查看文件的,想要从电脑往手机传输东西,或者说从手机往电脑传输东西,依靠的是及时通讯工具或者其它可用的工具。


针对这种情况的出现,不可能每个测试机里,我们都不断的登录一些及时通讯(微信,QQ等)的账号,况且这些传输文件,依赖性太强,也无法满足我们传输到某一个位置的需求,基于这种情况,看到了yanzhenjie开源的AndServer,这是一个基于Android系统的一个服务,可以实现网站的部署,还有动态api形式的访问,是非常强大的,大家可以点击直接看相关文档:https://yanzhenjie.com/AndServer/


基于AndServer所提供的功能,是不是我们就可以以自己的手机做为一个服务器,来部署一个网站呢?这个必须可以,AndServer中已经提供了部署的方式,部署完毕后,无非就是,电脑端访问服务器(也就是自己手机)里的各个文件,目前呢,基于AndServer开发的在线浏览文件及上传下载Demo已经开源,地址是:


https://github.com/AbnerMing888/SdFileManager,大家有需要的可以下载。


具体的效果如下图,电脑和手机必须连接同一网络,运行至手机之后,就可以打开服务,在电脑端输入对应的地址,就可以查看手机SD卡里的文件,也可以进行上传,或者删除。



PC端效果:



目前上传,是上传到你选择的路径下,同样的删除,也需要你在路径后,把文件的名字追加到路径后面。


Demo中重点的逻辑,有两个,一个是获取手机SD卡的各个文件路径,一个是上传和删除文件。


获取文件


/*** 返回文件列表*/@GetMapping(path="/list")
List<FileInfo>getFileList(@RequestParam(name="rootPath", required=false) StringrootPath) {
Filefile;
if (TextUtils.isEmpty(rootPath)) {
file=newFile(Environment.getExternalStorageDirectory().getAbsolutePath());
    } else {
file=newFile(rootPath);
    }
List<FileInfo>fileInfoList=newArrayList<>();
if (!file.isDirectory()) {
returnfileInfoList;
    }
File[] list=file.listFiles();
if (list==null||list.length==0) {
returnfileInfoList;
    }
FileInfofileInfo;
for (Filef : list) {
Stringname=f.getName();
fileInfo=newFileInfo();
fileInfo.setName(name);
fileInfo.setUrl(f.getAbsolutePath());
fileInfo.setDateModified(f.lastModified());
fileInfo.setDateModifiedString(TimeUtils.INSTANCE.formatDateToStr(f.lastModified(), "yyyy/MM/dd aHH:mm:ss"));
if (f.isFile()) {
fileInfo.setIsDir(0);
fileInfo.setSize(f.length());
fileInfo.setSizeString(FileUtils.formatFileSize(f.length()));
        } else {
fileInfo.setIsDir(1);
        }
fileInfoList.add(fileInfo);
    }
returnfileInfoList;
}


上传文件:


@PostMapping("/upload")
StringuploadFile(
@RequestParam(name="path") Stringpath,
@RequestParam(name="file") MultipartFilemultipartFile) {
Filedir=Environment.getExternalStorageDirectory();
if (!"-1".equals(path)) {
//证明为空dir=Environment.getExternalStoragePublicDirectory(path);
    }
try {
StringfileName=multipartFile.getFilename();
StringfilePath=dir+"/"+fileName;
InputStreaminputStream= (multipartFile.getStream());
FileOutputStreamfileWriter=newFileOutputStream(filePath);
byte[] bytes=newbyte[1024];
intlength;
while ((length=inputStream.read(bytes)) >0) {
fileWriter.write(bytes, 0, length);
fileWriter.flush();
        }
inputStream.close();
fileWriter.close();
    } catch (IOExceptione) {
e.printStackTrace();
returne.getMessage();
    }
returnmultipartFile.getFilename();
}


删除文件


@PostMapping("/deleteFile")
StringdeleteFile(
@RequestParam(name="path") Stringpath) {
Filefile=newFile(path);
if (file.exists()) {
file.delete();
    }
return"删除成功";
}


相关文章
|
7月前
|
机器学习/深度学习 数据采集 人工智能
通义实验室Mobile-Agent-v3开源,全平台SOTA的GUI智能体,支持手机电脑等多平台交互
近日,通义实验室MobileAgent团队正式开源全新图形界面交互基础模型 GUI-Owl,并同步推出支持多智能体协同的自动化框架 Mobile-Agent-v3。该模型基于Qwen2.5-VL打造,在手机端与电脑端共8个GUI任务榜单中全面刷新开源模型性能纪录,达成全平台SOTA。
2358 2
|
8月前
|
存储 缓存 安全
手机缓存清除工具和电脑缓存清除工具有什么区别?
手机缓存清除工具和电脑缓存清除工具有什么区别?
498 94
|
数据采集 自然语言处理 安全
控制电脑手机的智能体人人都能造,微软开源OmniParser
微软研究团队推出OmniParser,旨在提升GPT-4V等多模态模型在用户界面操作方面的性能。通过解析用户界面截图为结构化元素,OmniParser显著增强了模型的交互能力,使其在多种基准测试中表现出色。该技术开源,促进了社区合作与技术创新,但同时也面临数据质量、计算资源及安全隐私等挑战。
580 14
|
人工智能 自然语言处理 机器人
“今日热点:AI像人类一样使用手机和电脑”,魔搭社区的开源项目已先行一步
今天,Claude发布了Computer Use的新功能,可以让AI像人一样使用电脑!
|
Android开发 Swift iOS开发
python 基于电脑蓝牙连接获取手机的实时数据
python 基于电脑蓝牙连接获取手机的实时数据
578 0
|
网络协议 Android开发 数据安全/隐私保护
Android手机上使用Socks5全局代理-教程+软件
Android手机上使用Socks5全局代理-教程+软件
12214 2
|
监控 安全 Android开发
【新手必读】Airtest测试Android手机常见的设置问题
【新手必读】Airtest测试Android手机常见的设置问题
894 0
|
XML Java Android开发
Android Studio开发之使用内容组件Content获取通讯信息讲解及实战(附源码 包括添加手机联系人和发短信)
Android Studio开发之使用内容组件Content获取通讯信息讲解及实战(附源码 包括添加手机联系人和发短信)
921 0
|
Web App开发 前端开发 网络安全
前端分析工具之 Charles 录制 Android/IOS 手机的 https 应用
【2月更文挑战第21天】前端分析工具之 Charles 录制 Android/IOS 手机的 https 应用
362 1
前端分析工具之 Charles 录制 Android/IOS 手机的 https 应用
|
存储 数据库 Android开发
Android实现手机内存存储功能
Android实现手机内存存储功能
256 2

热门文章

最新文章