siteserver / cms

SS CMS 基于 .NET Core,能够以最低的成本、最少的人力投入在最短的时间内架设一个功能齐全、性能优异、规模庞大并易于维护的网站平台。
https://sscms.com
GNU Affero General Public License v3.0
3.65k stars 1.2k forks source link

7.2.1 下载.apk文件跳转到404页面 #3644

Open sr6783 opened 12 months ago

sr6783 commented 12 months ago

环境参数

操作系统:CentOS7.9(Linux 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 linux-x64 ) .NET 7.0.9 版本号 7.2.1

预期功能

添加.apk附件类型后,可以正常上传和下载

当前功能

下载.apk文件跳转到404页面(如图1) 20230717-下载 apk附件跳转到404页面(2)

但是服务器上有文件(如图2) 20230717-下载 apk附件跳转到404页面-服务器截图(3)

,附件上传已设置.apkl类型截图(如图3) 20230717-下载 apk附件跳转到404页面-附件上传设置截图(3)

内容管理界面看到的附件名与服务器一致的截图(如图4) 20230717-下载 apk附件跳转到404页面-内容管理界面截图确认文件存在(3)

搜github之前也有人遇到过这个问题,在SSCMS交流群里,有群友说“下载的文件类型是写死了的”,但是管理员说“7.2.1 上传 .apk 和下载apk都没问题”,自己复现了这个问题,不知道是BUG还是确实有这个问题

starlying commented 12 months ago

下载类型和CMS其实没关系,如果在Linux下面,需要配置Nginx,如果在IIS下面,需要配置IIS 具体如何配置可以百度查查mime.types

sr6783 commented 12 months ago

尝试做法

1.在Nginx的mime.types中添加了 application/vnd.android.package-archive apk; 通过stl:files下载依旧跳转到404,Nginx已重新load配置并重启 2.在群友帮忙修改FileType.cs和FileUtils重新编译后,解决.apk下载问题

判断还是和CMS有关,那2段代码会在下载时检查文件后缀。所以想问下,这个后续是否会添加.apk支持或者是像支持自定义上传类型一样,对下载类型也支持自定义?

starlying commented 12 months ago

下载地址分加密和不加密两种,分别用标签 加密的下载时会判断后缀,不加密的不会判断。 我们研究一下如何在加密的判断中增加配置功能。

fsea commented 12 months ago

image SSCMS.Web里的Startup.cs里Configure方法里加上上面的

starlying commented 9 months ago

已增加自定义下载功能,在附件上传设置中增加了下载附件类型,在里面配置文件后缀即可: 47