Respostas:
ATUALIZAR: iOs 6 Safari vai suportar upload de vídeos e imagens da Biblioteca de fotos.
====
Eu odeio essa palavra, mas é impossível (por enquanto). Aqui estão as razões:
1) Safari móvel não suporta upload de nada.
2) o safári móvel não pode acessar componentes ios (na verdade, pode, mas apenas por meio do fone de ouvido )
outra maneira de abordar esse problema seria fornecer aos usuários um endereço de e-mail privado para o qual eles podem enviar suas fotos para upload automático (por exemplo, photos+abc123@yoursite.com).
Um pouco mais de trabalho para configurar, mas proporcionará uma experiência consistente para usuários em todos os dispositivos (e usuários não móveis também podem achar conveniente).
Gosto da solução picup em http://picupapp.com
Eu encontrei uma solução aceitável para isso. Adicione um link mailTo na página com instruções predefinidas que mostram ao usuário como copiar e colar uma imagem do rolo da câmera no e-mail. Em seguida, escreva um trabalho / script que ouça essa caixa de entrada para emails de entrada, retire a imagem e processe de acordo.
Não é perfeito, mas eles clicam no link do safari e depois só precisam ir às fotos, copiar e voltar ao seu aplicativo. Depois de tentar no meu telefone, é mais do que uma solução alternativa aceitável que me permite seguir em frente sem escrever um aplicativo.
<div data-role="collapsible" data-collapsed="true" id="uploadPicContainer" data-theme="d">
<h3>{l t='Upload Picture'}</h3>
<a href="mailto:fotos@opina.com?subject={l t='My pictures of'} {$var_biz.bizname}[{$var_biz.id}]!&body={l t='To upload a picture go to your Camera Roll and copy paste an image to this area in the email. We will apply your picture after review!'}">{l t='Click here to upload pictures of'} {$var_biz.bizname}</a>
</div>
Você poderá fazer upload de fotos usando o Safari no iOS 6 em diante. Embora as soluções alternativas acima ainda sejam necessárias para iOS 5 e versões anteriores.
Outro aplicativo iOS nativo (semelhante ao Picup ou iphone-photo-picker) é o Aurigma Up .
O Safari no iOS 6.0 é o primeiro a adicionar suporte <input type="file">
, permitindo que você:
Veja como fica no iOS10:
iOS9 introduziu o iCloud Drive e mais opções, incluindo Dropbox . iOS 6 a 8 tinha apenas as primeiras duas opções.
Você pode limitar os tipos de arquivo a apenas fotos usando o accept="image/*"
atributo:
<input type="file" accept="image/*" >
irá limitar as opções a apenas fotos:
No lado Android, o Android 2.2+ é o primeiro a oferecer suporte ao código acima.
Aviso de isenção de responsabilidade: imagem cortesia de Pipe que lida com a gravação de vídeo onde eu sou CTO
Uma ideia que acabei de pensar é ter uma caixa de texto na qual o usuário possa colar um url, permitindo que ele use o dropbox ou um aplicativo semelhante e copie um url público do arquivo do dropbox. Assim, o servidor poderá fazer o download do servidor da caixa de depósito.
Eu preciso oferecer suporte a outros tipos de arquivos além de imagens, então parece que o picupapp não funcionará para mim.
Se você ainda estiver usando o iOS5, considere usar o iCab Mobile. Entendi para o meu ipad e (pelo menos para mim) o upload de arquivos funciona bem.
Atenciosamente, Piotr
Apenas para iOS> = 6
<input type="file" accept="image/*" capture>
"capture" não muda nada com o iOS, mas ainda é útil para outros dispositivos (aparentemente Androids, veja os comentários).
capture="camera"
(string) foi substituído por capture="capture"
na recomendação do candidato do W3C. Em ambos os casos, ele só funciona no Android.