แอปพลิเคชันเว็บ html5 สำหรับซาฟารีมือถือเพื่ออัปโหลดภาพจากแอป Photos.app?


93

เป็นไปได้หรือไม่ที่จะเขียนเว็บแอปพลิเคชัน HTML5 ที่ออกแบบมาสำหรับอุปกรณ์ iOS (iPad, iPhone, iPod Touch) ซึ่งสามารถอนุญาตให้ผู้ใช้อัปโหลดภาพจากระบบไฟล์ได้?

ลองนึกภาพการอัปโหลดรูปภาพใหม่ไปยัง twitter avatar ของคุณผ่านเว็บแอป

คำตอบ:


98

อัปเดต: iOs 6 Safari จะรองรับการอัปโหลดวิดีโอและรูปภาพจากคลังรูปภาพ

====

ฉันเกลียดคำนี้ แต่มันเป็นไปไม่ได้ (ถึงตอนนี้) นี่คือเหตุผล:

1) ซาฟารีมือถือไม่รองรับการอัปโหลดอะไรเลย

2) mobile safari ไม่สามารถเข้าถึงส่วนประกอบ ios ได้ (จริงๆแล้วทำได้ แต่ผ่านphonegapเท่านั้น)


7
คุณพูดถูกมันเป็นคำที่แสดงความเกลียดชัง! งานวิจัยของฉันแสดงให้เห็นในสิ่งเดียวกันและฉันก็ไม่สามารถอยู่กับมันได้ดังนั้นจึงถามที่นี่ใน SO ขอบคุณสำหรับคำตอบว่า
Abhic

2
สิ่งที่ฉันไม่เข้าใจคือทำไมแอปเปิ้ลไม่อนุญาตให้เปิดเผยโฟลเดอร์รูปภาพ / วิดีโอแทนที่จะกลัวว่าจะเปิดเผยทั้งระบบ
fasih.rana

1
ลิงก์ใด ๆ ไปยังเอกสารของ iOS Safari เพื่ออ้างอิงวิธีอัปโหลดรูปภาพใน iOS ?? ขอบคุณ!
detj

อา! มันทำโดยอัตโนมัติ ไม่ยุ่งยาก :)
detj

คุณช่วยโพสต์โค้ดสำหรับการอัพโหลดไฟล์ในเบราว์เซอร์ ios Safari โดยใช้ HTML 5 ได้ไหม
Karthick

28

อีกวิธีหนึ่งในการแก้ไขปัญหานี้คือการให้ที่อยู่อีเมลส่วนตัวแก่ผู้ใช้ที่สามารถส่งอีเมลรูปภาพของตนไปให้เพื่ออัปโหลดอัตโนมัติ (เช่น photos+abc123@yoursite.com)

ต้องทำงานอีกเล็กน้อยในการตั้งค่า แต่จะให้ประสบการณ์ที่สอดคล้องกันสำหรับผู้ใช้ในทุกอุปกรณ์ (และผู้ใช้ที่ไม่ใช่มือถืออาจพบว่าสะดวกเช่นกัน)


ฉันสงสัยว่าจะทำได้อย่างไรฉันหมายถึงผู้ใช้ส่งอีเมลพร้อมไฟล์แนบรูปภาพหรือวิดีโอฉันจะดึงข้อมูลนั้นและบันทึกลงในฐานข้อมูลได้อย่างไรและโพสต์ข้อมูลที่เกี่ยวข้องในตำแหน่งที่ถูกต้องรูปภาพไปยังโฟลเดอร์รูปภาพและ วิดีโอไปยังโฟลเดอร์วิดีโอ ... ต้องมีสคริปต์อยู่แล้วที่สามารถทำได้ ... หรือสิ่งที่คล้ายกัน ..
Tanker

@Tanker ใช่แอปของคุณจะต้องดึงอีเมลเป็นระยะ ๆ คว้าไฟล์แนบและบันทึกการเปลี่ยนแปลง ฉันเคยใช้ไลบรารีอีเมลของChilKatในอดีตแม้ว่าฉันจะเตือนคุณว่ามันไม่ได้รวบรวมอย่างดี (สำหรับฉัน -ymmv) ระหว่าง 32/64 บิต
brichins

9

ฉันชอบโซลูชัน picup ที่http://picupapp.com


มีการสอนสำหรับสิ่งนั้น ปัญหาอย่างหนึ่งของ Picup คือการอัปโหลดภาพไปยังเซิร์ฟเวอร์ของบุคคลที่สาม (imgur.com) ซึ่งอาจสร้างปัญหาการออกใบอนุญาต / ความเป็นส่วนตัวได้มากมาย ข้อกำหนดในการให้บริการของ Imgur กล่าวโดยทั่วไปว่าพวกเขาเป็นเจ้าของภาพและคุณไม่สามารถใช้เพื่อวัตถุประสงค์ทางการค้าได้
Ian Dunn

2
@Ian Dunn: Picup สามารถกำหนดค่าให้อัปโหลดภาพไปยัง URL ใดก็ได้ที่คุณต้องการ Imgur เป็นเพียงค่าเริ่มต้น
Geon

8

ฉันพบวิธีแก้ไขที่ยอมรับได้สำหรับเรื่องนี้ เพิ่มลิงก์ mailTo บนหน้าพร้อมคำแนะนำที่กำหนดไว้ล่วงหน้าซึ่งจะแสดงให้ผู้ใช้เห็นวิธีคัดลอกวางรูปภาพจากม้วนฟิล์มลงในอีเมล จากนั้นเขียนงาน / สคริปต์ที่รับฟังกล่องจดหมายนั้นสำหรับอีเมลขาเข้าดึงรูปภาพและดำเนินการตามนั้น

มันไม่สมบูรณ์แบบ แต่พวกเขาคลิกลิงก์จากซาฟารีจากนั้นจะต้องไปที่รูปภาพคัดลอกและกลับมาที่แอปของคุณเท่านั้น หลังจากลองใช้งานบนโทรศัพท์ของฉันมันเป็นมากกว่าวิธีแก้ปัญหาที่ยอมรับได้ที่ทำให้ฉันก้าวไปข้างหน้าโดยไม่ต้องเขียนแอพ

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

คุณยอมรับได้มากกว่าเพราะคุณรู้ข้อ จำกัด - ฉันอยากรู้ว่าการตอบสนองของผู้ที่ไม่ใช่นักพัฒนาที่ตอบสนองต่อแอปเช่นนี้ เป็นวิธีที่น่าสนใจในการดำเนินการนี้และเป็นอีกวิธีหนึ่งที่ผู้ใช้คุ้นเคยอยู่แล้วซึ่งอาจใช้ได้กับบางสิ่งที่ฉันกำลังพยายามทำเช่นกัน
Angelo R

ใช่. นั่นเป็นความคิดที่ดี จะต้องมีสคริปต์ที่จะแยกวิเคราะห์ไฟล์แนบ Zend Framework มีส่วนประกอบที่ดีสำหรับสิ่งนั้น
Svetoslav Marinov

6

คุณจะสามารถอัปโหลดรูปภาพโดยใช้ซาฟารีใน iOS 6 เป็นต้นไป แม้ว่าวิธีแก้ปัญหาข้างต้นจะยังคงเป็นสิ่งจำเป็นสำหรับ iOS 5 และต่ำกว่า


2
คุณมีคำแนะนำเกี่ยวกับการทำบน iOS 6 หรือไม่?
Wim Deblauwe


2

Safari บน iOS 6.0เป็นครั้งแรกที่เพิ่มการรองรับ<input type="file">โดยอนุญาตให้คุณ:

  • ถ่ายวิดีโอหรือภาพถ่ายใหม่
  • เลือกวิดีโอหรือภาพถ่ายจากไลบรารี

นี่คือลักษณะที่ปรากฏบน iOS10:

อินพุตไฟล์ iOS 10 ไม่มีตัวกรอง

iOS9 แนะนำiCloud ไดรฟ์และเพิ่มเติมตัวเลือกทั้ง Dropbox iOS 6 ถึง 8 มีเพียงสองตัวเลือกแรกเท่านั้น

คุณสามารถ จำกัด ประเภทไฟล์ให้เป็นเพียงภาพถ่ายโดยใช้accept="image/*"แอตทริบิวต์:

<input type="file" accept="image/*" > จะ จำกัด ตัวเลือกให้เหลือเพียงภาพถ่าย:

อินพุตไฟล์ iOS 10 สำหรับภาพถ่าย

ในฝั่งAndroid Android 2.2+เป็นเครื่องแรกที่รองรับโค้ดด้านบน

คำเตือน: รูปภาพเอื้อเฟื้อโดยPipeซึ่งจัดการการบันทึกวิดีโอโดยที่ฉันเป็น CTO


1

ความคิดที่ฉันคิดคือการมีกล่องข้อความที่ผู้ใช้สามารถวาง URL ลงในอนุญาตให้ผู้ใช้ใช้ดรอปบ็อกซ์หรือแอปที่คล้ายกันและคัดลอก URL สาธารณะของไฟล์ดรอปบ็อกซ์ จากนั้นเซิร์ฟเวอร์จะสามารถดาวน์โหลดจากเซิร์ฟเวอร์ดรอปบ็อกซ์

ฉันต้องการรองรับไฟล์ประเภทอื่นที่ไม่ใช่รูปภาพดังนั้นดูเหมือนว่า picupapp จะใช้ไม่ได้สำหรับฉัน


0

หากคุณยังคงใช้ iOS5 โปรดพิจารณาใช้iCab Mobile รับมันสำหรับ iPad ของฉันและ (อย่างน้อยสำหรับฉัน) การอัปโหลดไฟล์ก็ใช้ได้ดี

ขอแสดงความนับถือ Piotr


0

เฉพาะสำหรับ iOS> = 6

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

"จับภาพ" ไม่ได้เปลี่ยนแปลงอะไรใน iOS แต่ยังมีประโยชน์สำหรับอุปกรณ์อื่น ๆ (เห็นได้ชัดว่าเป็น Android โปรดดูความคิดเห็น)


capture="camera"(สตริง) ถูกแทนที่ด้วยcapture="capture"ในคำแนะนำผู้สมัคร W3C ในทั้งสองกรณีนี้ใช้งานได้บน Android เท่านั้น
Octavian Naicu

@OctavianNaicu เข้าท่า. ฉันได้แก้ไขคำตอบแล้ว ขอขอบคุณข้อมูล
Erdal G.
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.