Discourse 误将上传的文件识别为图片

  1. 是的,没错——就像我上面的截图一样

  2. 我并不是建议您进行修改。但是,如果您等不及,当然可以测试该更改。

  • 临时更改(重建后消失):
cd /var/discourse
./launcher enter app
sed -i "s/FastImage.new(@file)/FastImage.new(@file, :raise_on_failure=true)/" lib/upload_creator.rb
sed -i "s/FastImage.new(original_path)/FastImage.new(original_path, :raise_on_failure=true)/" app/models/upload.rb
exit
  • 持久更改(重建后保留):
cd /var/discourse
nano containers/app.yml  (使用您喜欢的编辑器)

在末尾(run 部分)添加以下自定义命令:

  - replace:
      filename: "/var/www/discourse/lib/upload_creator.rb"
      from: "FastImage.new(@file)"
      to: "FastImage.new(@file, :raise_on_failure=true)"
  - replace:
      filename: "/var/www/discourse/app/models/upload.rb"
      from: "FastImage.new(original_path)"
      to: "FastImage.new(original_path, :raise_on_failure=true)"

然后,重建:

./launcher rebuild app
  1. 我猜是的,如果您计划上传没有扩展名的文件。我没有检查其他地方是否需要相同的更改。