일부 png 파일을 선택하고 다음 명령을 실행한다고 가정해 보겠습니다.
xclip -selection clip -t image/png image.png
이제 내 클립보드에 해당 이미지가 생겼습니다. 이미지를 허용하는 곳에 붙여넣으면 예상대로 붙여넣고 모든 것이 정상입니다.
이제 Firefox 주소 표시줄이나 텍스트 필드에 이것을 입력하는 동안 ctrl+V를 누르는 것을 생각해 보세요. 파일의 바이너리 콘텐츠가 텍스트 필드에 그대로 붙여넣어졌기 때문에 어떤 경우에는 브라우저가 잠시 중단되었습니다.
물론 거기에 이미지를 붙여넣어도 소용없다는 걸 알지만 가끔 실수로 붙여넣어서 문제가 생기기도 합니다.
Firefox의 "이미지 복사" 버튼을 사용하여 복사한 이미지를 붙여넣을 때 붙여넣으려고 해도 붙여넣기가 되지 않으므로 이러한 동작을 허용하려면 클립보드에 저장하는 것이 가능해야 합니다.
이미지를 텍스트 필드에 이진 데이터로 그대로 붙여넣지 않고 클립보드에 이미지를 배치하려면 어떻게 해야 합니까? 어떻게든 클립보드에 이미지와 텍스트 문자열(이미지 경로 등)을 배치하고 붙여넣을 때 적절한 문자열을 선택하도록 할 수 있다면 좋을 것입니다.
답변1
나는 당신처럼 xclip을 사용하여 이미지를 클립보드에 복사했는데 이것이 내가 얻은 대상 목록입니다.
> xclip -selection clip -t TARGETS -o
TARGETS
image/png
이제 웹페이지에서 이미지를 복사하면 다음과 같은 결과가 나타납니다.
> xclip -selection clip -t TARGETS -o
TIMESTAMP
TARGETS
MULTIPLE
SAVE_TARGETS
text/html
text/_moz_htmlinfo
text/_moz_htmlcontext
image/png
image/jpeg
image/x-icon
image/x-ico
image/x-win-bitmap
image/vnd.microsoft.icon
application/ico
image/ico
image/icon
text/ico
image/tiff
image/bmp
image/x-bmp
image/x-MS-bmp
예를 들어 대상을 text/html로 설정하면 다음과 같은 출력이 제공됩니다.
> xclip -sel c -t text/html -o
<img src="..." alt="...">>
이전 답변에서 언급했듯이 이것은 xclip 문제인 것 같습니다.
답변2
위의 답변은 불완전하거나 잘못된 것 같습니다. Mozilla Firefox에서 이미지를 복사한 후 다음과 같은 출력이 표시됩니다.
$ xclip -selection clip -t TARGETS -o
TIMESTAMP
TARGETS
MULTIPLE
SAVE_TARGETS
text/html
text/_moz_htmlinfo
text/_moz_htmlcontext
image/png
image/bmp
image/x-bmp
image/x-MS-bmp
image/x-icon
image/x-ico
image/x-win-bitmap
image/vnd.microsoft.icon
application/ico
image/ico
image/icon
text/ico
image/jpeg
awnser가 앞서 말했듯이 "text/html"을 출력하면 이미지에 대한 링크가 포함된 유효한 html 문서가 출력됩니다. 그러나 "image/png"(또는 유사한 옵션)를 선택하면 원시 png 데이터가 출력됩니다.
요약: xclip -selection clip -t TARGETS -o
붙여넣을 수 있는 형식을 알려주세요. 하나를 선택 합니다 xclip -selection clip -t '$TYPE' -o
. 이는 파일에 직접 저장되며 예상대로 거의 정확하게 작동합니다.