文件服务器实现方式汇总

news2025/1/21 9:40:47

hello,伙伴们,大家好,今天这一期shigen来给大家推荐几款可以一键实现文件浏览器的工具,让你轻松的实现文件服务器和内网的文件传输、预览。

基于node

本次推荐的是http-server, 它的githuab地址是:http-server,github上已经12.8k的星星了,我用起来了,也很好用。

安装的话,首先得确定本机有node npm的环境:

(base) \[\]node -v && npm -v
v14.17.5
9.8.1

shigen本地的node npm的版本分别是:14.17.5、9.8.1。在一切就绪之后,即可开启服务:

npm install http-server
# 切换到有文件的目录
cd ~/temp
http-server --proxy http://localhost:8080?

注意:不要使用brew install http-server已经下载不了了,我实测过

运行的效果如下:

我们点击输出的内网地址即可跳转到浏览器。

实测了一下,仅支持js html文件的预览,别的类型的文件仅支持附件类型的下载。

但是有这些基本的需求就足够了。

基于python

推荐我的项目:file-server 一个基于flask实现的内网的文件服务器。支持扫码访问,上传各类文件,并在控制台带进度显示。下方是我的哔哩哔哩教程:python局域网文件共享,感兴趣的伙伴可以了解一下。

基于brew+nginx

这个我在之前的文章里也有介绍过。brew+nginx配置静态文件服务器话不多说,shigen直接带你玩。以下是具体的配置过程:

cp nginx.conf nginx.conf_bck
vim nginx.conf

我就直接扔出来具体的配置了,每个配置都有详细的解释:

     location /downloads {
         #转到的Nginx文件目录
         alias /xxx/files;
         #打开目录浏览功能
         autoindex on;
         #默认为on,显示出文件的确切大小,单位是bytes
         #显示出文件的大概大小,单位是kB或者MB或者GB
         autoindex_exact_size off;
         #默认为off,显示的文件时间为GMT时间。
         #改为on后,显示的文件时间为文件的服务器时间
         autoindex_localtime on;
         #让浏览器不保存临时文件
         add_header Cache-Control no-store;
         #避免中文乱码
         charset utf-8,gbk;
         #希望请求文件是下载而不是显示内容
         add_header Content-Disposition attachment; 
     }

nginx重新加载配置:

/opt/homebrew/bin/nginx -s reload

访问地址:http://127.0.0.1:8080/downloads 即可看到效果:

点击文件就可以实现类似于文件预览的效果。

这是2023年早春,shigen在武汉市解放公园拍的梅花。

怎么样子,是不是很好用!直接一个nice

服务关闭

作为节省资源型的猿,我喜欢不用的时候关闭软件,来看看搭载了brew的包管理器如何关闭服务(当然,原生的nginx关闭服务的命令也可以使用)。

(base) nginx|stable ⇒ brew services stop nginx
Stopping `nginx`... (might take a while)
==> Successfully stopped `nginx` (label: homebrew.mxcl.nginx)

以上就是文件服务器实现方式的全部内容啦,如果有更简单的方式,欢迎伙伴们留言推荐哈。

shigen一起,每天不一样!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/925295.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

8086汇编语言寄存器清零学习

mov ax, 0 这样应清零了; sub ax, ax 这样也清了; xor ax, ax 这样也清零了;自己跟自己异或,异或是同则结果为0、不同结果为1;自己和自己,每一位都是相同的,异或后结果为0; and …

基于CentOS7.9安装docker服务,配置镜像加速器

目录 一、安装docker服务 二、配置镜像加速器 三、下载系统镜像(Ubuntu、 centos ) 四、基于下载的镜像创建两个容器(容器名一个为自己名字全拼,一个为首名字字母 ) 五、容器的启动、 停止及重启操作 六、查看正…

基于Java+SpringBoot+vue前后端分离林业产品推荐系统设计实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

Spring之微服务架构与Spring Cloud

微服务架构与Spring Cloud 微服务架构与Spring Cloud 摘要引言词汇解释详细介绍微服务架构Spring Cloud核心组件示例代码:注释: 注意事项理解微服务架构的优势 详细介绍什么是微服务架构?微服务架构的优势1. 可扩展性(Scalability…

Win7安装新版本anaconda出现Failed to extract packages解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

CAD泰森多边形框架3D插件

插件介绍 CAD泰森多边形框架3D插件可用于在AutoCAD软件内生成三维Voronoi框架结构实体模型,适用于多孔Voronoi科研论文渲染绘图、Voronoi框架有限元建模、Voronoi空间结构优化等方面的应用。 使用说明 插件可设置生成的几何尺寸、晶格尺寸及边框直径等信息。 插…

基于Java+SpringBoot+vue前后端分离华强北商城二手手机管理系统设计实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

让大数据平台数据安全可见-行云管家

数字化经济在快速发展,大数据时代已经到来,大数据已经成为企业和政府决策的重要依据。然而大数据行业快速发展所带来的一系列安全问题也继续解决,例如数据安全更难保障,例如认证体系不完善等等。为此行云管家推出了大数据平台数据…

开源跨境电商ERP实战经验分享,避免坑点

开源跨境电商ERP系统是当今电商行业的利器,许多企业已经意识到了它在运营管理中的重要性。在本文中,作为该领域的专家,我将分享一些实战经验,帮助您避免在使用开源跨境电商ERP过程中可能遇到的坑点和挑战。 解析开源跨境电商ERP的…

操作系统期末考试复习——简答题总结

最近考研在复习OS,顺便把大二期末考试的简答题整理了一下~ 1、操作系统的定义 “操作系统(operating system,简称OS)是管理计算机硬件与软件资源的计算机程序 2、操作系统的基本类型及特征 批处理操作系统、分时操作系统、实时…

gdb 条件断点

条件断点,顾名思义就是有条件才会触发的断点,一般设置此类断点形如:b xxx if xxx,如: 要触发此断点则需要 is_created 0。打完断点我们也可以用 info b 查看一下当前已经设置的断点信息,如: 断…

02-Numpy基础-ndarray

NumPy(Numerical Python的简称)是Python数值计算最重要的基础包。 NumPy的部分功能如下: ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组。用于对整组数据进行快速运算的标准数学函数(无需编…

EMC三大法宝之一:屏蔽

结论:解决EMC的三大法宝为:屏蔽、接地和滤波。 Part 1 屏蔽的原理 首先,我们要了解屏蔽的概念。 屏蔽就是用金属对两个空间区域进行隔离, 用以控制一个空间区域的电场、 磁场和电磁波对另一个空间区域的影响,通常的…

【学习FreeRTOS】第17章——FreeRTOS任务通知

1.任务通知的简介 任务通知:用来通知任务的,任务控制块中的结构体成员变量 ulNotifiedValue就是这个通知值。 使用队列、信号量、事件标志组时都需另外创建一个结构体,通过中间的结构体进行间接通信! 使用任务通知时&#xff0c…

深入理解linux内核--程序的执行

可执行文件 在第一章中我们把进程定义为“执行上下文”。这就意味着进行特定的计算需要收集必要的信息,包括所访问的页,打开的文件,硬件寄存器的内容等等。 可执行文件是一个普通文件,它描述了如何初始化一个新的执行上下文&…

《Linux从练气到飞升》No.17 进程创建

🕺作者: 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux菜鸟刷题集 😘欢迎关注:👍点赞🙌收藏✍️留言 🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的…

EdifierW200btfree耳机说明书

Edifier W200bt free 耳机说明书。

【MySQL系列】Select语句单表查询详解(二)ORDERBY排序

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …

static关键字(实例成员方法可以访问静态变量,但是静态成员方法不能直接访问非静态变量或者非静态方法)

1、静态static关键字概述 static是静态的意思,可以修饰成员变量和成员方法。static修饰成员变量表示该成员变量只在内存中只存储一份,可以被共享访问、修改。静态成员变量(有static修饰,属于类,内存中加载一次&#xf…

vue3中引入百度地图

话不多说直接开干 1.第一种方式 百度地图地址 打开 https://lbsyun.baidu.com/index.php?title%E9%A6%96%E9%A1%B5 然后点进去地图 然后再这个功能里面选择一个地图,然后跳转页面 然后一直下滑 滑到底部 点击这个 跳转到这个页面 然后点击进入demo这个 然后到这个…