Skip to content

通过Zfile上传到存储桶内的文件MIME类型问题 #695

Open
@qeqeq1

Description

@qeqeq1

环境信息

  • ZFile 版本:4.1.5
  • 部署方式:Docker
  • 操作系统/设备:Windows
  • 浏览器/版本号:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 Edg/128.0.0.0

复现步骤

1.使用ZFile上传一个常见文件类型,如JPEG图片(test.jpg)。
上传后,确保文件已成功存储在R2中,可在zfile正常下载、预览。
2.检查MIME类型
登录Cloudflare控制面板,导航到R2存储桶。
找到上传的文件,检查其元数据中的Content-Type。
你会发现该文件的Content-Type被设置为application/x-www-form-urlencoded,而不是image/jpeg。
3.访问文件
在ZFile中点击该图片,图片能够正常预览显示。
右键点击图片并选择“新标签页中打开图片”,浏览器会自动下载该图片,而不是在新标签页中预览。

预期结果

预期行为: 文件的MIME类型应根据文件类型自动设置,以便在浏览器中能够正常预览。例如:
图片文件应为image/jpeg或image/png。
PDF文件应为application/pdf。
文本文件应为text/plain或text/html。
或在后台统一设置是否对新上传文件mime类型进行修改/限制

实际结果

上传到R2的文件MIME类型均为application/x-www-form-urlencoded。

额外信息

保持原有的mime类型显然更有利于用户查看图片、视频文件。尤其是用户使用移动端设备,配合如QQ、微信软件内置浏览器访问时,下载体验十分糟糕或根本无法下载文件(但可以预览)

image
Screenshot_2024-09-02-02-20-05-15_9d26c6446fd7bb8
Screenshot_2024-09-02-02-20-01-81_e39d2c7de19156b

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions