Une application Web html5 pour safari mobile pour télécharger des images à partir de Photos.app?


93

Est-il possible d'écrire une application Web HTML5 conçue pour les appareils iOS (iPad, iPhone, iPod Touch) qui peut permettre à l'utilisateur de télécharger une image à partir du système de fichiers?

Imaginez télécharger une nouvelle photo sur votre avatar Twitter via une application Web.

Réponses:


98

METTRE À JOUR: iOs 6 Safari prendra en charge le téléchargement de vidéos et d'images à partir de la photothèque.

====

Je déteste ce mot, mais, c'est impossible (jusqu'à présent). Voici les raisons:

1) Mobile Safari ne prend pas en charge le téléchargement.

2) Mobile Safari ne peut pas accéder aux composants iOS (en fait, il le peut, mais uniquement via phonegap )


7
Vous avez raison, c'est un mot haineux! Mes recherches avaient montré la même chose et je ne pouvais tout simplement pas vivre avec, alors j'ai demandé ici sur SO. Merci pour la réponse.
Abhic

2
Ce que je ne comprends pas, c'est pourquoi Apple n'a pas autorisé l'exposition du dossier images / vidéos au lieu d'avoir peur d'exposer tout le système.
fasih.rana le

1
Tout lien vers la documentation d'iOS Safari pour référencer comment réaliser des téléchargements d'images sous iOS ?? Merci!
detj

Ah! Il le fait automatiquement. No
hassles

Pouvez-vous s'il vous plaît publier du code pour le téléchargement de fichiers dans le navigateur Safari iOS en utilisant HTML 5?
Karthick

28

une autre façon d'aborder ce problème serait de donner aux utilisateurs une adresse e-mail privée à laquelle ils peuvent envoyer leurs photos par e-mail pour un téléchargement automatique (par exemple, photos+abc123@yoursite.com).

Un peu plus de travail à configurer, mais offrira une expérience cohérente aux utilisateurs sur tous les appareils (et les utilisateurs non mobiles pourraient également trouver cela pratique).


Je me demande comment cela peut être fait, je veux dire, l'utilisateur envoie un e-mail avec une pièce jointe, une photo ou une vidéo, comment puis-je extraire ces informations et les enregistrer dans une base de données et publier les informations relatives au bon endroit, les photos dans le dossier images et videos to videos folder ... il doit y avoir déjà un script qui peut faire cela ... ou quelque chose de similaire ..
Tanker

@Tanker oui, votre application devrait récupérer les e-mails périodiquement, récupérer les pièces jointes et enregistrer les modifications. J'ai utilisé les bibliothèques de messagerie ChilKat pour cela dans le passé, bien que je vous avertisse que cela ne compile pas toujours bien (pour moi -ymmv) entre 32/64 bits.
brichins

9

J'aime la solution picup sur http://picupapp.com


Il y a un tutoriel pour ça . Un problème avec Picup est qu'il télécharge l'image sur un serveur tiers (imgur.com), ce qui peut créer de nombreux problèmes de licence / confidentialité. Les conditions de service d'Imgur indiquent essentiellement qu'ils possèdent l'image et que vous ne pouvez pas l'utiliser à des fins commerciales.
Ian Dunn

2
@Ian Dunn: Picup peut être configuré pour télécharger l'image sur n'importe quelle URL de votre choix. Imgur est juste la valeur par défaut.
geon

8

J'ai trouvé une solution acceptable pour cela. Ajoutez un lien mailTo sur la page avec des instructions prédéfinies qui montrent à l'utilisateur comment copier-coller une image de sa pellicule dans l'e-mail. Ensuite, écrivez un travail / script qui écoute cette boîte de réception pour les e-mails entrants, dépouillez l'image et traitez en conséquence.

Ce n'est pas parfait, mais ils cliquent sur le lien de safari et n'ont plus qu'à accéder aux photos, à copier et à revenir à votre application. Après l'avoir essayé sur mon téléphone, c'est plus qu'une solution acceptable qui me permet d'avancer sans écrire une application.

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

C'est plus acceptable pour vous parce que vous connaissez les limites - je suis curieux de voir les réponses de non-développeurs répondant à une application comme celle-ci. C'est une façon intéressante de s'y prendre et qui repose sur une autre méthode que les utilisateurs connaissent déjà - cela pourrait également fonctionner pour quelque chose que j'essaie de faire.
Angelo R.

Oui. c'est une bonne idée. Il doit y avoir un script qui analysera les pièces jointes. Zend Framework a quelques bons composants pour cela.
Svetoslav Marinov

6

Vous pourrez télécharger des photos à l'aide de safari dans iOS 6 à partir de. Bien que les solutions de contournement ci-dessus soient toujours nécessaires pour iOS 5 et les versions antérieures.


2
avez-vous des instructions pour le faire sur iOS 6?
Wim Deblauwe


2

Safari sur iOS 6.0 est le premier à ajouter une prise en charge <input type="file">en vous permettant de:

  • prendre une nouvelle vidéo ou photo
  • sélectionnez une vidéo ou une photo dans la bibliothèque

Voici à quoi cela ressemble sur iOS10:

Entrée de fichier iOS 10 sans filtre

iOS9 introduit iCloud Drive et plus d' options, y compris Dropbox . iOS 6 à 8 n'avait que les deux premières options.

Vous pouvez limiter les types de fichiers aux seules photos en utilisant l' accept="image/*"attribut:

<input type="file" accept="image/*" > limitera les options aux seules photos:

Entrée de fichier iOS 10 pour les photos

Du côté Android Android 2.2+ est le premier à prendre en charge le code ci-dessus.

Avertissement: image fournie par Pipe qui gère l'enregistrement vidéo là où je suis CTO


1

Une idée à laquelle je viens de penser est d'avoir une zone de texte dans laquelle l'utilisateur pourrait coller une URL, permettant à l'utilisateur d'utiliser Dropbox ou une application similaire et de copier une URL publique du fichier Dropbox. Ensuite, le serveur pourrait télécharger à partir du serveur Dropbox.

J'ai besoin de prendre en charge les types de fichiers autres que les images, donc il semble que picupapp ne fonctionnera pas pour moi.


0

Si vous utilisez toujours iOS5, pensez à utiliser iCab Mobile. Je l'ai pour mon ipad et (du moins pour moi) le téléchargement de fichiers fonctionne bien.

Cordialement, Piotr


0

Uniquement pour iOS> = 6

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

"capture" ne change rien avec iOS mais c'est toujours utile pour d'autres appareils (apparemment Androids, voir les commentaires).


capture="camera"(chaîne) a été remplacée par capture="capture"dans la recommandation candidate du W3C. Dans les deux cas, cela ne fonctionne que sur Android.
Octavian Naicu

@OctavianNaicu a du sens. J'ai édité la réponse. Merci pour l'info
Erdal G.
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.