您现在的位置是:首页 > 编程 > 

Windows搭建SFTP,实现文件上传到Windows服务器并查看

2025-07-18 16:10:40
这两天自己搞得头大,到最后才彻底搞明白,自己做个总结。 一、下载安装freed 软件已经g了,了个下载安装了下。  全程默认安装即可,安装完成后桌面图表 二、配置 freed 打开运行 开始配置 SSH 这块端口我默认的22,最大连接数跟超时时间自己设置,其它都是默认

这两天自己搞得头大,到最后才彻底搞明白,自己做个总结。

一、下载安装freed

软件已经g了,了个下载安装了下。

 全程默认安装即可,安装完成后桌面图表

二、配置 freed

打开运行 开始配置

SSH

这块端口我默认的22,最大连接数跟超时时间自己设置,其它都是默认勾选的不用管

Authentication

这里我是用密码进行访问认证,所以 Password 这块选择 Required

SFTP

sftp这块,选择自己要上传到Windows服务器哪个目录下选择即可。

Users

users这块,自己添加用户,然后Auth认证选择Password,密码自己设置,下面勾选我只用SFTP所以只勾选了一个,添加成功后如下图左边图一样。



 Server Status 

最后添加完成之后,到Server这里,全部点击下,呈绿之后确定即可。

三、下载安装 Filezilla

:下载 - FileZilla中文网

我这里下载的是 Windows 客户端,安装完成打开运行

四、配置Filezilla

打开之后点击这里,添加新站点

协议选择SFTP,主机就本地,端口22,用户和密码一定要与刚刚 freed 所添加的用户密码一致!然后连接即可。

成功后如图。

 五、代码-数据库 配置

 这里因为是从数据库读的,添加一条Windows的

剩下改了部分代码,代码这块报错给我难受死了,我是真的菜。

因为原本是有种存储方式【S、OSS、SFTP】 ,这里原本的SFTP是存到Linux服务器上的,所以我这里多添加个类型判断。

 uploadFile 代码

大部分跟Linux-SFTP的一样,只不过这里创建文件夹的改动了下。

递归创建多级目录

六、路径查看配置

要想直接在浏览器上输入路径进行查看,必须得装 ginx ,我这里简单配置了下。

1、下载 ginx

下载地址:nginx: downloadhttps://nginx/en/download.html

2、配置 ginx

打开ginx的配置文件(一般是位于安装目录下的 conf/ 文件),进行如下配置

我这里解压到了E盘,编辑  文件:

server {
    listen       80;
    server_name  your_domain;  // 替换为你的域名或IP地址

    location / {
        alias   E:/SFTP/;  // 替换为实际的文件上传目录
        autoindex on;  // 允许浏览目录列表
    }
}

 

、启动 ginx

双击 或者命令行 启动都可以,启动成功后在任务管理能看到。

4、路径配置

因为我这里把 【E:\SFTP】映射成了 【/】,那么在 filepath 里加上即可。

5、文件查看 

添加成功后,经过上传文件测试,返回结果如下:

 

复制到网址打开,这样就成功了

 

 

七、下载

下载这块我就直接贴下代码图了。。。

 

 

八、总结

1、用户问题

一直搞不懂用户的原因,这个用户到底是该管理员用户还是添加的用户。

解决:上面已经说了 free 添加的任意一个用户,都可以进行 SFTP 连接,在数据库配置任意一个都可以!并且 Filezilla 新站点登录用户一定要与 你数据库配置的用户一样!

2、路径问题

刚开始的路径默认其实是在你连接的这个用户目录下,比如我连接Windows服务器时用的 root 用户,那么默认上传路径就在 C:\Users\root 下,但是我用freed开启了SFTP路径设置,那么就会在那个设置的路径下,所以从一开始我路径出了问题!

此时我设置的 SFTP 目录为 :E:\SFTP 

我是要在这个文件夹下,根据需求不同创建多级目录,因此不需要任何前缀目录等等。

假如此时 fileType 为 null ,那么此时 targetPath 也就是 【其它文件/file那么此时如果是绝对路径其实就是服务器中的 :【E:/SFTP/其它文件/file

进入 uploadFile 之后,此时 SFTP 连接到服务器之后是没有后面这两个目录的,因此这里进入递归创建多级目录

 此部分走完发现多级目录已经创建

 

put 之后,此时文件夹内就有了文件

 刚开始这里每次第一次创建目录之后都报一个 o Such File 错误,文件也没有写入成功,只有第二次才写入,发现这里判断的问题。

最初代码这样的

 我可真SB啊,然后改成了else....

 、\ 与 / 和 \\ 问题

最初因为我觉得 Linux 应该是 / ,windows 应该是 \ ,文件目录也是这么显示的,所以我把所有的 / 改成了 \,粘贴之后在字符串里就是 \\ ,可是在本地测试发现,我创建目录时,在 Windows 下,不管是 \ 还是 / 效果都一样!

 

因此 不需要考虑 \ 和 / 的问题。

4、路径查看问题

 写到这里,补充了个 六 部分,把路径查看问题也解决了,有个问题就是因为我文件名是中文,没做转码,可能就会识别失败。

可以把文件名改成英文就好了,点开就可以识别了。

 

5、下载问题

md,原本写的时候映射地址是 upload,导致我文件路径ip后面就是 upload,网页预览是没问题了,但是下载不了,就是因为 upload 不是一个文件路径,是映射路径。

 

感谢我辉哥,呜呜呜,我去百度补充了下 nginx 斜杠规则,然后改了下 location 后的 映射地址,完美解决!

 

 

 

算是给自己做个总结记录,以后再碰到这玩意不能再错了。。。。

下b班,今天又是菜狗成长的一天。

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1079492.html

相关标签:无
上传时间: 2025-07-10 04:22:19
留言与评论(共有 17 条评论)
本站网友 请求超时
29分钟前 发表
本站网友 公司好声音
19分钟前 发表
    八
本站网友 23条
28分钟前 发表
本站网友 别和自己过不去
24分钟前 发表
\SFTP  我是要在这个文件夹下,根据需求不同创建多级目录,因此不需要任何前缀目录等等
本站网友 fireworks8
24分钟前 发表
文件查看  添加成功后,经过上传文件测试,返回结果如下:   复制到网址打开,这样就成功了     七
本站网友 广州保利春天里
28分钟前 发表
因为原本是有种存储方式【S
本站网友 西部院线
25分钟前 发表
Users users这块,自己添加用户,然后Auth认证选择Password,密码自己设置,下面勾选我只用SFTP所以只勾选了一个,添加成功后如下图左边图一样
本站网友 vs380
1分钟前 发表
  感谢我辉哥,呜呜呜,我去百度补充了下 nginx 斜杠规则,然后改了下 location 后的 映射地址,完美解决!       算是给自己做个总结记录,以后再碰到这玩意不能再错了
本站网友 脑血栓片
30分钟前 发表
可以把文件名改成英文就好了,点开就可以识别了
本站网友 中山艾莉
28分钟前 发表
\SFTP】映射成了 【/】,那么在 filepath 里加上即可
本站网友 女足名单
7分钟前 发表
  感谢我辉哥,呜呜呜,我去百度补充了下 nginx 斜杠规则,然后改了下 location 后的 映射地址,完美解决!       算是给自己做个总结记录,以后再碰到这玩意不能再错了
本站网友 新股申购操作流程
16分钟前 发表
启动 ginx 双击 或者命令行 启动都可以,启动成功后在任务管理能看到
本站网友 如东租房信息
15分钟前 发表
解决:上面已经说了 free 添加的任意一个用户,都可以进行 SFTP 连接,在数据库配置任意一个都可以!并且 Filezilla 新站点登录用户一定要与 你数据库配置的用户一样! 2
本站网友 线程死锁
11分钟前 发表
OSS
本站网友 央视2套
0秒前 发表
启动 ginx 双击 或者命令行 启动都可以,启动成功后在任务管理能看到
本站网友 金海湾花园
28分钟前 发表
这两天自己搞得头大,到最后才彻底搞明白,自己做个总结