크기가 1 미만인 SVG 이미지는 업로드되지 않습니다

주요 svg 요소에서 높이 또는 너비 속성 중 하나가 "1"보다 작은 숫자 크기(관련 단위는 무시)를 가지는 svg 이미지를 게시글에 업로드(포함)하면 다음 메시지와 함께 실패합니다.

죄송합니다. 이미지의 크기를 결정할 수 없습니다. 이미지가 손상되었을 수도 있습니다.

height와 width 속성이 확인되고 업로드가 거부된 후, FIX - use ImageMagick to determine size of SVG images - Pull Request #12230%EA%B3%BC - discourse/discourse - GitHub 관련된 코드가 단위 정보를 사용하여 실제 표시 크기를 파악할 기회가 주어지기 전에 이러한 일이 발생하는 것으로 보입니다. 포럼에서 다음을 검색하면

svg “determine the size of the image” “maybe your image is corrupted”

현재 9개의 결과가 반환됩니다. 게시글에 fontawesome 아이콘 포함하는 방법?는 동일한 원인일 수 있어 보이지만, 해당 보고는 오래되었고 supposedly 수정된 상태입니다.

조사를 해본 결과, 이는 사용 중인 fastimage 라이브러리의 문제로 보입니다. 단위를 무시하여 작은 차원의 SVG 이미지가 0픽셀로 감지되는 문제에 대해 해당 라이브러리에서 이슈를 생성했으며, 여기에서 이를 참조하고 있습니다. fastimage 라이브러리가 수정되더라도 업데이트된 버전을 적용하려면 discourse에도 변경이 필요할 가능성이 높습니다.

실패하는 샘플 svg 파일의 xml 소스는 다음과 같습니다.

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
  xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"
  width="1.2in" height="0.9in"
  viewBox="0 0 1200 900"
>
  <line x1="1100" x2="100" y1="100" y2="800" stroke="#000000" stroke-width="50"/>
</svg>

아래는 포럼에서 위의 이미지가 작동하도록 하는 경미한 수정 사항을 보여주는 이미지들입니다. 이는 참조된 github 이슈의 첨부 파일과 일치합니다.

image2

image4

문제를 자세히 설명해 주셔서 감사합니다.

저희 쪽에서도 문제를 재현해 보았고, 이 pull request가 언급하신 문제를 해결할 수 있을 것 같습니다.

수정: 이상하네요… 로컬에서는 테스트가 통과하는데, push를 하면 실패합니다. 내일 이 문제를 자세히 살펴보겠습니다.

2개의 좋아요

지난주에 병합되었습니다.

@µMerlin你那边的内容更新一下,确认一下现在是否正常?

1개의 좋아요

이 주제는 4일 후 자동으로 닫혔습니다. 더 이상 답변을 작성할 수 없습니다.