# Visualizando imagens em tamanho real

**URL:** https://meta.discourse.org/t/viewing-images-at-full-size/121359
**Category:** Support
**Created:** [26 Junho , 2019 06:32 UTC](https://meta.discourse.org/t/viewing-images-at-full-size/121359 "2019-06-26T06:32:38Z")
**Posts on this page:** 10
**Page:** 2

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [1 Julho , 2019 02:29 UTC](https://meta.discourse.org/t/viewing-images-at-full-size/121359/22 "2019-07-01T02:29:10Z")

</div>

> [@codinghorror](#):
>
> O CDN pode ter o comportamento sofisticado e o não-CDN pode ter o comportamento mais simples.

O problema é que o CDN está apresentando um comportamento **quebrado** , que é exatamente o que você não quer. Apenas o não-CDN funciona corretamente, pois ao clicar em “download”, algo é efetivamente baixado.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [1 Julho , 2019 02:30 UTC](https://meta.discourse.org/t/viewing-images-at-full-size/121359/23 "2019-07-01T02:30:47Z")

</div>

Ah, sim, então devemos corrigir.

---

<div class="post-metadata">

### Author: ![bartv](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bartv/32/130052_2.png) [@bartv](https://meta.discourse.org/u/bartv)
#### Post date: [1 Julho , 2019 05:16 UTC](https://meta.discourse.org/t/viewing-images-at-full-size/121359/24 "2019-07-01T05:16:57Z")

</div>

> [@sam](#):
>
> Em relação ao tópico original, acho que, se você quiser um 🔗 link de `tamanho completo` na sua lightbox, @bartv, vai precisar de um componente de tema.

Justo. Existem exemplos de personalização da lightbox que eu possa usar como ponto de partida?

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [1 Julho , 2019 05:38 UTC](https://meta.discourse.org/t/viewing-images-at-full-size/121359/25 "2019-07-01T05:38:37Z")

</div>

Isso não é facilmente hackeável, conforme:

> <https://github.com/discourse/discourse/blob/4f97f85178b197e99240b3b7f2c2c0c251d4c39b/app/assets/javascripts/discourse/lib/lightbox.js.es6#L70-L93>

Você precisaria ler [Magnific Popup: Responsive jQuery Lightbox Plugin](https://dimsemenov.com/plugins/magnific-popup/) e verificar se é possível reconfigurá-lo dinamicamente de alguma forma.

---

<div class="post-metadata">

### Author: ![bartv](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bartv/32/130052_2.png) [@bartv](https://meta.discourse.org/u/bartv)
#### Post date: [1 Julho , 2019 05:54 UTC](https://meta.discourse.org/t/viewing-images-at-full-size/121359/26 "2019-07-01T05:54:05Z")

</div>

Que pena, vou ver se consigo resolver algo.

Apenas por curiosidade: por que o Discourse opta por uma ação de ‘download’ em vez de ‘ver tamanho original’ aqui? Do ponto de vista do usuário, parece que ver o tamanho original seria uma ação mais comum?

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [1 Julho , 2019 06:22 UTC](https://meta.discourse.org/t/viewing-images-at-full-size/121359/27 "2019-07-01T06:22:09Z")

</div>

Eu achei que fosse um problema de MIME, mas olhando o cabeçalho, pode ser:

`x-download-options: noopen`

O que impede que um arquivo seja aberto ao ser baixado. Esperando que Sam possa esclarecer.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [1 Julho , 2019 06:27 UTC](https://meta.discourse.org/t/viewing-images-at-full-size/121359/28 "2019-07-01T06:27:32Z")

</div>

> [@bartv](#):
>
> Só por curiosidade: por que o Discourse opta por uma ação de ‘download’ em vez de ‘ver em tamanho original’ aqui? Do ponto de vista do usuário, parecería que ver em tamanho original é uma ação mais comum?

🤷🏽‍♂️ É uma decisão do @codinghorror. Suponho que seja uma maneira de manter limpo o nome original do arquivo carregado, algo que algumas pessoas valorizam. Além disso, parece ser o que o Flickr costuma fazer.

> [@Stephen](#):
>
> x-download-options: noopen

Acho que não vamos mexer em nada disso. Vamos fazer com que o app faça o proxy disso em uma rota dedicada ou algo assim. O número de pessoas clicando em “download” é insignificante, então um desvio do CDN pode ser aceitável aqui. De qualquer forma, o @pmusaraj pode decidir qual é a melhor solução. Pelo que entendi, ou precisamos instruir a AWS a fornecer uma URL assinada com um disposition de conteúdo especial, ou precisamos fazer o proxy do arquivo. Em ambos os casos, haverá um desvio do CDN da S3. Se fizermos o proxy pelo app, pelo menos poderemos usar o CDN do próprio app.

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [1 Julho , 2019 06:31 UTC](https://meta.discourse.org/t/viewing-images-at-full-size/121359/29 "2019-07-01T06:31:57Z")

</div>

Após uma leitura um pouco mais aprofundada, parece que `content-disposition: attachment;` e `x-download-options: noopen` são responsáveis por esse comportamento.

Agradeço que essa seja a forma como acontece, e não o porquê. Se for por motivos de segurança, faz todo o sentido.

---

<div class="post-metadata">

### Author: ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)
#### Post date: [2 Julho , 2019 17:05 UTC](https://meta.discourse.org/t/viewing-images-at-full-size/121359/30 "2019-07-02T17:05:43Z")

</div>

Esse [PR](https://github.com/discourse/discourse/pull/7845) deve corrigir o problema da seguinte forma:

1. Adicionar um `data-download-href` ao link de download da lightbox quando os uploads S3 estiverem habilitados
2. A URL utilizada é o novo esquema de URL curta com um parâmetro `dl=1`, que fará com que o controlador gere uma URL assinada do S3 com o `content disposition` e o nome do arquivo corretos

Em outras palavras, o link de download na lightbox agora se parecerá com `/uploads/short-url/mTGbg4Ld2iBYAbfTvEjGXP2LtVm.pdf?dl=1`, que redirecionará para uma URL assinada do S3 com `content-disposition: "attachment; filename=original.png"`.

Acho que essa é a opção mais simples e direta; fazer o proxy através do aplicativo seria um pouco menos eficiente, pois o arquivo baixado teria que ir do S3 para o servidor do Discourse e, em seguida, para o cliente.

---

<div class="post-metadata">

### Author: ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)
#### Post date: [11 Julho , 2019 22:00 UTC](https://meta.discourse.org/t/viewing-images-at-full-size/121359/31 "2019-07-11T22:00:13Z")

</div>

Este tópico foi automaticamente fechado após 28 horas. Novas respostas não são mais permitidas.

[Previous page](https://meta.discourse.org/t/viewing-images-at-full-size/121359.md?page=1)
