解决 DeepSeek 上传图片时“文件夹为空”的问题
最近我在使用 DeepSeek 时遇到了一个有点奇怪的问题,折腾了一番终于找到了原因。这里把我的排查过程和解决方案记录下来,希望能帮到遇到同样情况的朋友。
问题现象
我从微信(Linux 版)里保存了一张图片,打算上传到 DeepSeek 的对话框里。一开始我习惯性地直接 Ctrl+V 粘贴,结果 DeepSeek 提示:
上传的文件包含暂未支持的文件格式,请转换文件格式后重试。支持PDF、DOC、XLSX、PPT、图片、文本、代码等。
明明是一张 JPEG 图片,怎么会格式不支持?我检查了图片属性,确认是标准的 JPEG 格式(如图2所示)。

如图2:图像属性显示“JPEG image (image/jpeg)”,宽度1706像素,高度1279像素。
于是我改用点击输入框旁边的“+”按钮,选择“上传文件”。结果弹出的文件选择对话框里,文件夹显示为空——什么都看不到(如图1所示)。

如图1:DeepSeek 的文件上传对话框中,目录列表为空,没有任何文件显示。
初步排查
我首先怀疑是不是 DeepSeek 的前端出了 bug,或者我的 Ubuntu 系统文件权限有问题。但后来我测试了 WordPress 后台的媒体上传功能,发现完全正常——同一个文件夹里的图片都能正常显示和选择(如图3所示)。

如图3:WordPress 后台媒体上传界面中,同一个目录下的多个图片文件都正常显示,包括大小和修改时间。
这说明问题不在系统,也不在文件管理器,而是 DeepSeek 的文件选择器本身。
关键发现
我仔细对比了一下 DeepSeek 文件选择器里显示的文件夹,和我实际保存图片的文件夹。突然注意到一个细节:我保存的那张图片,文件名就是 1,没有任何扩展名(比如 .jpg 或 .png)。
为了验证,我把这张图片重命名为 1.jpg。再次打开 DeepSeek 的上传对话框,神奇的事情发生了——文件出现了(如图4所示)!

如图4:重命名后,DeepSeek 的文件选择器中正常显示了
1.jpg文件。
原因分析
后来我明白了:DeepSeek 前端调用文件选择器时,通常会加上 accept="image/*" 的限制。浏览器或者系统的文件选择器会根据文件扩展名来判断是否属于图片类型。一个没有扩展名的文件(即使内容本身是 JPEG)会被认为不是图片文件,因此在选择器中直接被过滤掉,不显示。
而为什么直接 Ctrl+V 粘贴也会失败?因为从微信复制图片时,剪贴板里放的可能不是纯图像数据,而是一个文件引用或特殊对象,DeepSeek 无法正确解析,所以报“格式不支持”。
解决方案
针对这个问题,我整理了两个解决方法:
方案一:手动添加扩展名
最简单的方法:在微信另存图片时,手动在文件名后面加上 .jpg。或者在保存后,右键重命名,加上扩展名。
方案二:批量重命名(推荐)
如果你像我一样,已经保存了一堆无扩展名的图片(比如微信默认保存的 1、2、3……),可以用一条命令批量添加 .jpg 后缀。
打开终端,进入图片所在目录,执行:
cd /你的图片目录
for f in *; do
[ -f "$f" ] && [[ "$f" != *.* ]] && mv -- "$f" "$f.jpg"
done
这条命令只会处理没有点号(即无扩展名) 的文件,不会影响已有后缀的文件。执行后,所有图片就都能被 DeepSeek 正常识别了。
关于复制粘贴失败的临时办法
如果不想保存文件,只是想快速把图片发给 DeepSeek,可以用截图工具重新截取图片区域(比如按 Shift+PrtSc),然后直接粘贴到对话框。这种方式复制的是纯图像数据,通常能成功。
总结
这次遇到的小问题,根源其实很简单:文件没有扩展名。在 Linux 下,微信保存的图片有时会不带 .jpg 后缀,导致一些网页的文件选择器无法识别。给文件加上正确的扩展名就能解决。
记录在这里,希望对其他使用 Ubuntu + 微信 + DeepSeek 的朋友有帮助。如果你也遇到了类似的“文件夹为空”或“格式不支持”的提示,不妨先检查一下文件有没有扩展名。