Un'app web html5 per safari mobile per caricare immagini da Photos.app?


92

È possibile scrivere un'applicazione web HTML5 progettata per i dispositivi iOS (iPad, iPhone, iPod Touch) che possa consentire all'utente di caricare un'immagine dal filesystem?

Immagina di caricare una nuova foto sul tuo avatar Twitter tramite un'app web.

Risposte:


98

AGGIORNAMENTO: iOs 6 Safari supporterà il caricamento di video e immagini dalla Libreria foto.

====

Odio questa parola, ma è impossibile (adesso). Ecco i motivi:

1) Mobile Safari non supporta il caricamento di nulla.

2) safari mobile non può accedere ios componenti (realmente può, ma solo attraverso PhoneGap )


7
Hai ragione, è una parola odiosa! La mia ricerca aveva mostrato la stessa cosa e non potevo conviverci, quindi l'ho chiesto qui su SO. Grazie per la risposta però.
Abhic

2
Quello che non capisco è perché Apple non ha permesso che la cartella delle immagini / video fosse esposta piuttosto che avere paura di esporre l'intero sistema.
fasih.rana

1
Qualsiasi collegamento alla documentazione di iOS Safari per fare riferimento a come ottenere caricamenti di immagini in iOS ?? Grazie!
detj

Ah! Lo fa automaticamente. Nessun
problema

Puoi inserire del codice per il caricamento di file nel browser Safari iOS utilizzando HTML 5?
Karthick

28

un altro modo per affrontare questo problema sarebbe quello di fornire agli utenti un indirizzo e-mail privato a cui possono inviare le foto tramite e-mail per il caricamento automatico (es. photos+abc123@yoursite.com).

Un po 'più di lavoro da configurare, ma offrirà un'esperienza coerente per gli utenti su tutti i dispositivi (e anche gli utenti non mobili potrebbero trovarlo conveniente).


Mi chiedo come possa essere fatto, voglio dire, l'utente invia un'e-mail con un allegato, una foto o un video, come posso estrarre quell'informazione e salvarla su un DB e inserire le relative informazioni nel posto giusto, foto nella cartella delle immagini e video nella cartella dei video ... deve esserci già uno script che può farlo ... o qualcosa di simile ..
Tanker

@Tanker sì, la tua app dovrebbe recuperare periodicamente le e-mail, prendere gli allegati e salvare le modifiche. Ho usato le librerie di posta elettronica ChilKat in passato, anche se ti avverto che non sempre si compila bene (per me -ymmv) tra 32/64 bit.
brichins

9

Mi piace la soluzione picup su http://picupapp.com


C'è un tutorial per questo . Un problema con Picup è che carica l'immagine su un server di terze parti (imgur.com), il che può creare molti problemi di licenza / privacy. I termini di servizio di Imgur dicono fondamentalmente che possiedono l'immagine e non puoi usarla per scopi commerciali.
Ian Dunn

2
@Ian Dunn: Picup può essere configurato per caricare l'immagine su qualsiasi URL che ti piace. Imgur è solo l'impostazione predefinita.
geon

8

Ho trovato una soluzione accettabile per questo. Aggiungi un collegamento mailTo sulla pagina con istruzioni predefinite che mostrano all'utente come copiare e incollare un'immagine dal rullino fotografico nell'email. Quindi, scrivi un lavoro / script che ascolti la posta in arrivo per le email in entrata, rimuovi l'immagine ed elabora di conseguenza.

Non è perfetto, ma fanno clic sul collegamento da Safari e quindi devono solo andare alle foto, copiare e tornare alla tua app. Dopo averlo provato sul mio telefono, è più che una soluzione accettabile che mi consente di andare avanti senza scrivere un'app.

    <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>

È più accettabile per te perché conosci i limiti: sono curioso di vedere le risposte dei non sviluppatori che rispondono a un'app come questa. È un modo interessante per farlo e che si basa su un altro metodo con cui gli utenti hanno già familiarità: potrebbe funzionare anche per qualcosa che sto cercando di fare.
Angelo R.

Sì. è un'idea geniale. Deve esserci uno script che analizzerà gli allegati. Zend Framework ha alcuni componenti interessanti per questo.
Svetoslav Marinov

6

Sarai in grado di caricare foto utilizzando Safari in iOS 6 in poi. Sebbene le soluzioni alternative di cui sopra saranno ancora necessarie per iOS 5 e versioni precedenti.


2
hai delle istruzioni per farlo su iOS 6?
Wim Deblauwe


2

Safari su iOS 6.0 è il primo ad aggiungere il supporto <input type="file">consentendo di:

  • scatta un nuovo video o una nuova foto
  • seleziona un video o una foto dalla libreria

Ecco come appare su iOS10:

Ingresso file iOS 10 nessun filtro

iOS9 ha introdotto iCloud Drive e altre opzioni, incluso Dropbox . iOS da 6 a 8 aveva solo le prime due opzioni.

Puoi limitare i tipi di file solo alle foto utilizzando l' accept="image/*"attributo:

<input type="file" accept="image/*" > limiterà le opzioni solo alle foto:

Input di file iOS 10 per le foto

Sul lato Android, Android 2.2+ è il primo a supportare il codice sopra.

Disclaimer: immagine per gentile concessione di Pipe che gestisce la registrazione video dove sono CTO


1

Un'idea a cui ho appena pensato è di avere una casella di testo in cui l'utente può incollare un URL, consentendo all'utente di utilizzare Dropbox o un'app simile e copiare un URL pubblico del file Dropbox. Quindi il server sarà in grado di eseguire il download dal server Dropbox.

Devo supportare tipi di file diversi dalle immagini, quindi sembra che picupapp non funzioni per me.


0

Se stai ancora utilizzando iOS5, considera l'utilizzo di iCab Mobile. Capito per il mio ipad e (almeno per me) il caricamento dei file funziona bene.

Saluti, Piotr


0

Solo per iOS> = 6

<input type="file" accept="image/*" capture>

"cattura" non cambia nulla con iOS ma è comunque utile per altri dispositivi (apparentemente Android, vedi commenti).


capture="camera"(stringa) è stata sostituita da capture="capture"nella Raccomandazione del candidato W3C. In entrambi i casi funziona solo su Android.
Ottaviano Naicu

@OctavianNaicu ha senso. Ho modificato la risposta. Grazie per l'info
Erdal G.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.