ユーザーがファイルシステムから画像をアップロードできるiOSデバイス(iPad、iPhone、iPod Touch)用に設計されたHTML5 Webアプリケーションを作成することは可能ですか?
Webアプリ経由でTwitterアバターに新しい写真をアップロードすることを想像してください。
UPDATE:iOs 6 Safariは、フォトライブラリからのビデオおよび画像のアップロードをサポートします。
====
私はこの言葉が嫌いですが、不可能です(今)。その理由は次のとおりです。
1)モバイルサファリはアップロードをサポートしていません。
2)モバイルサファリはiosコンポーネントにアクセスできません(実際にはアクセスできますが、 phonegap を介してのみアクセスできます)
この問題に対処する別の方法は、自動アップロードのために写真をメールで送信できるプライベートなメールアドレスをユーザーに提供することです(例:[email protected])。
セットアップにはもう少し手間がかかりますが、すべてのデバイスのユーザーに一貫したエクスペリエンスを提供します(モバイル以外のユーザーでも便利な場合があります)。
http://picupapp.com のpicupソリューションが気に入っています
私はこれに対して許容できる回避策を見つけました。カメラロールから電子メールに画像をコピーペーストする方法をユーザーに示す事前定義された指示とともに、ページにmailToリンクを追加します。次に、受信トレイで受信メールをリッスンするジョブ/スクリプトを作成し、画像を取り除き、それに応じて処理します。
それは完璧ではありませんが、彼らはサファリからのリンクをクリックし、写真に行き、コピーしてアプリに戻ってくるだけです。電話で試してみた後、アプリを作成せずに前進できるのは、許容できる回避策以上のものです。
<div data-role="collapsible" data-collapsed="true" id="uploadPicContainer" data-theme="d">
<h3>{l t='Upload Picture'}</h3>
<a href="mailto:[email protected]?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>
IOS 6以降では、safariを使用して写真をアップロードできます。上記の回避策は、iOS 5以下では引き続き必要です。
別のネイティブiOSアプリケーション(Picupまたはiphone-photo-pickerに類似)は Aurigma Up です。
iOS 6.0のSafariは、以下を許可することで<input type="file">
のサポートを追加した最初の企業です。
IOS10での外観は次のとおりです。
iOS9導入iCloud DriveおよびMoreDropboxを含むオプション 。 iOS 6から8には、最初の2つのオプションしかありませんでした。
accept="image/*"
属性を使用して、ファイルタイプを写真のみに制限できます。
<input type="file" accept="image/*" >
は、オプションを写真のみに制限します。
Android側Android 2.2 +は、上記のコードをサポートする最初のものです。
免責事項:画像提供 Pipe これは私がCTOであるビデオ録画を処理します
私が考えたのは、ユーザーがURLを貼り付けて、Dropboxまたは同様のアプリを使用して、DropboxファイルのパブリックURLをコピーできるテキストボックスを作成することです。その後、サーバーはDropboxサーバーからダウンロードできます。
画像以外のファイルタイプをサポートする必要があるため、picupappが機能しないようです。
まだiOS5を使用している場合は、 iCab Mobileの使用を検討してください。私のiPadのためにそれを手に入れ、(少なくとも私にとって)ファイルのアップロードはうまく機能します。
よろしく、Piotr
IOS> = 6のみ
<input type="file" accept="image/*" capture>
「キャプチャ」はiOSでは何も変わりませんが、他のデバイス(Androidの場合はコメントを参照してください)にとっては依然として有用です。