ChatGPT解决这个技术问题 Extra ChatGPT

A html5 web app for mobile safari to upload images from the Photos.app?

Is it possible to write a HTML5 web application designed for the iOS devices (iPad, iPhone, iPod Touch) which can allow the user to upload an image from the filesystem?

Imagine uploading a new photo to your twitter avatar via a web app.


C
Crashalot

UPDATE: iOs 6 Safari is going to support upload videos and images from the Photo Library.

====

I hate this word, but, it's impossible (up now). Here is the reasons:

1) mobile safari doesn't support upload anything.

2) mobile safari can't access ios components (actually it can, but, only through phonegap)


You are right, its a hateful word! My research had shown the same thing and I just couldn't live with it so asked here on SO. Thanks for the answer though.
What I don't understand is why didn't apple allow the pictures/videos folder to be exposed rather than being scared of exposing the whole system.
Any link to the documentation of iOS Safari to refer how to achieve image uploads in iOS?? Thanks!
Ah! It does it automatically. No hassles :)
Can you please post some code for file upload in ios safari browser using HTML 5?
J
Josh

another way to approach this problem would be to give users a private email address that they can email their photos to for automatic upload (eg. photos+abc123@yoursite.com).

A little more work to set up, but will give a consistent experience for users on all devices (and non-mobile users might find it convenient too).


I wonder how can this be done, I mean, user send an email with an attachment, photo or video, how can I extract that information and save it to a DB and post the relative information in the right place, photos to images folder and videos to videos folder... there has to be an script already that can do that... or something similar..
@Tanker yes, your app would have to retrieve the emails periodically, grab the attachments, and save changes. I have used the ChilKat email libraries for this in the past, although I will warn you that it doesn't always compile nicely (for me -ymmv) between 32/64 bit.
J
Joa

I like the picup solution at http://picupapp.com


There's a tutorial for that. One problem with Picup is that it uploads the image to a 3rd party server (imgur.com), which can create a lot of licensing/privacy issues. Imgur's terms of service basically say that they own the image and you can't use it for commercial purposes.
@Ian Dunn: Picup can be configured to upload the image to any URL you like. Imgur is just the default.
E
EnriqueL

I found an acceptable work around for this. Add a mailTo link on the page with predefined instructions which shows the user how to copy paste an image from his camera roll into the email. Then, write a job/script that listens to that inbox for inbound emails, strip the image and process accordingly.

It's not perfect, but they click the link from safari and then only need to go to photos, copy and come back to your app. After trying it on my phone, it's more than an acceptable work around that allows me to move forward without writing an 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>

It's more acceptable to you because you know the limitations - I'm curious to see the responses of non developers responding to an app like this. It's an interesting way to go about it and one that relies on another method that users are already familiar with - it might work for something I am trying to do as well.
Yep. that's a neat idea. There has to be a script that will parse the attachments. Zend Framework has some nice components for that.
m
milan

You will be able to upload photos using safari in iOS 6 onwards. Although the above workarounds will still be neccesary for iOS 5 and below.


do you have any instructions on doing it on iOS 6 ?
O
Octavian Naicu

Safari on iOS 6.0 is the 1st to add support for <input type="file"> by allowing you to:

take a new video or photo

select a video or photo from the library

Here's how it looks on iOS10:

https://i.stack.imgur.com/XDnBv.png

iOS9 introduced iCloud Drive and More options including Dropbox. iOS 6 through 8 had only the 1st two options.

You can limit the file types to just photos by using the accept="image/*" attribute:

<input type="file" accept="image/*" > will limit the options to just photos:

https://i.stack.imgur.com/8N1lN.png

On the Android side Android 2.2+ is the 1st to support the above code.

Disclaimer: image courtesy of Pipe which handles video recording where I am CTO


I
Ian Dunn

Another native iOS application (similar to Picup or iphone-photo-picker) is Aurigma Up.


T
Thymine

An idea I just thought of is to have a textbox that the user could paste a url into, allowing the user to use dropbox or a similar app and copy a public url of the dropbox file. Then the server would be able to download from the dropbox server.

I need to support filetypes other than images so it sounds like picupapp won't work for me.


P
Piotr Justyna

If you're still using iOS5, please consider using iCab Mobile. Got it for my ipad and (at least for me) file upload works fine.

Regards, Piotr


E
Erdal G.

Only for iOS >= 6

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

"capture" doesn't change anything with iOS but it's still useful for other devices (apparently Androids, see comments).


capture="camera" (string) has been replaced by capture="capture" in the W3C Candidate Recommendation. In both cases it only works on Android.
@OctavianNaicu makes sense. I've edited the response. Thanks for the info