คำถามติดแท็ก file-upload

วิธีการหรือการดำเนินการในการถ่ายโอนไฟล์จากไคลเอนต์ไปยังเซิร์ฟเวอร์

15
จะเพิ่มขนาดไฟล์สูงสุดใน ASP.NET ได้อย่างไร?
ฉันมีรูปแบบที่ยกเว้นการอัปโหลดไฟล์ใน ASP.NET ฉันต้องเพิ่มขนาดการอัปโหลดสูงสุดเป็นค่าเริ่มต้น 4 MB ฉันได้พบในบางสถานที่อ้างอิงด้านล่างรหัสที่MSDN [ConfigurationPropertyAttribute("maxRequestLength", DefaultValue = )] ไม่มีการอ้างอิงจริงอธิบายถึงวิธีการใช้งานและฉันได้ลองหลายสิ่งโดยไม่ประสบความสำเร็จ ฉันต้องการแก้ไขแอททริบิวนี้เฉพาะบางเพจที่ต้องการอัปโหลดไฟล์ นี่เป็นเส้นทางที่ถูกต้องหรือไม่? และฉันจะใช้สิ่งนี้ได้อย่างไร
238 c#  .net  asp.net  file-upload 

4
REST API - การประมวลผลไฟล์ (เช่นรูปภาพ) - แนวทางปฏิบัติที่ดีที่สุด
เรากำลังพัฒนาเซิร์ฟเวอร์ด้วย REST API ซึ่งยอมรับและตอบกลับด้วย JSON ปัญหาคือถ้าคุณต้องการอัปโหลดภาพจากลูกค้าไปยังเซิร์ฟเวอร์ หมายเหตุ: และฉันกำลังพูดถึงกรณีใช้งานที่เอนทิตี (ผู้ใช้) สามารถมีหลายไฟล์ (carPhoto, licensePhoto) และยังมีคุณสมบัติอื่น ๆ (ชื่ออีเมล ... ) แต่เมื่อคุณสร้างผู้ใช้ใหม่คุณไม่ต้อง ไม่ต้องส่งภาพเหล่านี้พวกเขาจะถูกเพิ่มหลังจากกระบวนการลงทะเบียน แนวทางแก้ไขที่ฉันทราบ แต่แต่ละข้อมีข้อบกพร่อง 1. ใช้ multipart / form-data แทน JSON ดี : คำขอ POST และ PUT นั้นสงบที่สุดเท่าที่จะเป็นไปได้พวกเขาสามารถมีอินพุตข้อความพร้อมไฟล์ได้ ข้อเสีย : มันไม่ใช่ JSON อีกต่อไปซึ่งง่ายต่อการทดสอบการดีบักและอื่น ๆ เปรียบเทียบกับหลายส่วน / แบบฟอร์มข้อมูล 2. อนุญาตให้อัปเดตไฟล์แยกต่างหาก คำขอ POST สำหรับการสร้างผู้ใช้ใหม่ไม่อนุญาตให้เพิ่มรูปภาพ (ซึ่งเป็นสิ่งที่เราใช้ในกรณีที่ฉันพูดตอนเริ่มต้น) …

2
JavaScript: อัพโหลดไฟล์
สมมติว่าฉันมีองค์ประกอบนี้ในหน้า: <input id="image-file" type="file" /> สิ่งนี้จะสร้างปุ่มที่อนุญาตให้ผู้ใช้เว็บเพจเลือกไฟล์ผ่านทางกล่องโต้ตอบ "เปิดไฟล์ ... " ในเบราว์เซอร์ สมมติว่าผู้ใช้คลิกปุ่มบอกว่าเลือกไฟล์ในกล่องโต้ตอบจากนั้นคลิกปุ่ม "ตกลง" เพื่อปิดกล่องโต้ตอบ ชื่อไฟล์ที่เลือกจะถูกจัดเก็บใน: document.getElementById("image-file").value ตอนนี้สมมติว่าเซิร์ฟเวอร์จัดการ POST หลายส่วนที่ URL "/ upload / image" ฉันจะส่งไฟล์ไปยัง "/ upload / image" ได้อย่างไร? นอกจากนี้ฉันจะฟังการแจ้งเตือนว่าไฟล์อัพโหลดเสร็จได้อย่างไร

11
การรวม Dropzone.js เข้ากับฟอร์ม HTML ที่มีอยู่กับฟิลด์อื่น
ขณะนี้ฉันมีรูปแบบ HTML ซึ่งผู้ใช้กรอกรายละเอียดของโฆษณาที่พวกเขาต้องการโพสต์ ตอนนี้ฉันต้องการที่จะเพิ่มdropzoneสำหรับการอัปโหลดภาพของรายการที่จะขาย ฉันพบDropzone.jsซึ่งดูเหมือนจะทำสิ่งที่ฉันต้องการมากที่สุด อย่างไรก็ตามเมื่อดูในเอกสารดูเหมือนว่าคุณจะต้องระบุคลาสของแบบฟอร์มทั้งหมดเป็นdropzone(ตรงข้ามกับองค์ประกอบอินพุตเท่านั้น) นี้ก็หมายความว่ารูปแบบทั้งหมดของฉันกลายเป็นDropzone เป็นไปได้หรือไม่ที่จะใช้ dropzone ในส่วนของแบบฟอร์มของฉันเช่นโดยการระบุองค์ประกอบเป็น class "dropzone"แทนที่จะเป็นแบบฟอร์มทั้งหมดหรือไม่ ฉันสามารถใช้แบบฟอร์มแยกกัน แต่ฉันต้องการให้ผู้ใช้สามารถส่งได้ทั้งหมดด้วยปุ่มเดียว หรือมีห้องสมุดอื่นที่สามารถทำสิ่งนี้ได้หรือไม่ ขอบคุณมาก

9
จะตรวจสอบไฟล์ประเภท MIME ด้วย javascript ก่อนทำการอัพโหลดได้อย่างไร?
ฉันได้อ่านสิ่งนี้และสิ่งนี้แล้วคำถามซึ่งดูเหมือนว่าจะชี้ให้เห็นว่าไฟล์ประเภท MIME จะถูกตรวจสอบโดยใช้จาวาสคริปต์ในฝั่งไคลเอ็นต์ ตอนนี้ฉันเข้าใจว่าการตรวจสอบความถูกต้องจริงยังคงต้องทำในฝั่งเซิร์ฟเวอร์ ฉันต้องการทำการตรวจสอบฝั่งไคลเอ็นต์เพื่อหลีกเลี่ยงการสูญเสียทรัพยากรเซิร์ฟเวอร์โดยไม่จำเป็น เพื่อทดสอบว่าสิ่งนี้สามารถทำได้ในฝั่งไคลเอ็นต์ฉันเปลี่ยนนามสกุลของJPEGไฟล์ทดสอบเป็น.pngและเลือกไฟล์สำหรับอัพโหลด ก่อนที่จะส่งไฟล์ฉันสอบถามวัตถุไฟล์โดยใช้คอนโซลจาวาสคริปต์: document.getElementsByTagName('input')[0].files[0]; นี่คือสิ่งที่ฉันได้รับจาก Chrome 28.0: ไฟล์ {webkitRelativePath: "", LastModifiedDate: อ. ต.ค. 16 2012 10:00:00 GMT + 0000 (UTC), ชื่อ: "test.png", พิมพ์: "image / png", ขนาด: 5,00055 ... } มันแสดงประเภทimage/pngที่ดูเหมือนจะบ่งบอกว่าการตรวจสอบเสร็จสิ้นตามนามสกุลไฟล์แทนที่จะเป็นชนิด MIME ฉันลอง Firefox 22.0 และให้ผลลัพธ์เหมือนกัน แต่ตามข้อมูลจำเพาะของ W3Cนั้นMIME Sniffingควรจะดำเนินการ ฉันถูกต้องไหมที่จะบอกว่าไม่มีวิธีการตรวจสอบประเภท MIME ด้วย javascript ในขณะนี้? หรือฉันกำลังพลาดอะไรอยู่?

8
มีปลั๊กอินอัปโหลดไฟล์ jQuery ลากและวางที่ดีหรือไม่? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา มีปลั๊กอิน jQuery ที่เรียบร้อยซึ่งอนุญาตให้รวมสคริปต์ JS เดียวจากนั้นใช้ข้อมูลโค้ดอย่างง่ายเพื่อเปิดใช้งานฟอร์มหรือไม่ บางสิ่งเช่นนี้ $j('#MyForm').enableDragDropUploads('.upload-area') ด้วยเป้าหมายการอัปโหลดเป็นการกระทำของแบบฟอร์ม วิธีการแก้ปัญหาใด ๆ จะต้องไม่ป้องกันฟิลด์ไฟล์ปกติจากการใช้งาน (โดยใช้วิธีการสืบค้นแบบดั้งเดิม) ฉันต้องการเพียงหนึ่งไฟล์ในแต่ละครั้ง แต่แน่นอนว่าการมีตัวเลือกสำหรับหลายไฟล์นั้นไม่ใช่เรื่องเลวร้าย ฉันพบตัวอย่างการอัปโหลดแบบลากสองสามรายการ: http://www.appelsiini.net/2009/10/drag-and-drop-file-upload-with-google-gears http: //www.appelsiini สุทธิ / 2009/10 / HTML5 ลากและวาง-หลายไฟล์ที่อัปโหลด แต่รหัสนั้นไม่มีการตั้งค่าเป็นปลั๊กอิน อาจไม่ใช่เรื่องยากที่จะเปลี่ยนแปลง แต่ก็ไม่มีประโยชน์ถ้าคนอื่นทำงานแล้วและหลีกเลี่ยงการค้นหาโดย Google ของฉัน ฉันกำลังมองหาโซลูชัน HTML5 / jQuery อย่างแท้จริง Google Gears สามารถใช้ได้ แต่โซลูชัน Flash ไม่ได้

14
อัพโหลดไฟล์เป็นมุมหรือไม่
ฉันรู้ว่านี่เป็นคำถามทั่วไป แต่ฉันไม่สามารถอัปโหลดไฟล์ใน Angular 2 ฉันได้ลองแล้ว 1) http://valor-software.com/ng2-file-upload/และ 2) http://ng2-uploader.com/home ... แต่ล้มเหลว มีใครอัปโหลดไฟล์ใน Angular หรือไม่ วิธีการอะไรที่คุณใช้? ทำอย่างไร หากมีการให้โค้ดตัวอย่างหรือลิงค์สาธิตใด ๆ ก็จะได้รับการชื่นชมอย่างมาก


22
'dragleave' ขององค์ประกอบพาเรนต์ยิงเมื่อลากไปวางองค์ประกอบของเด็ก
ภาพรวม ฉันมีโครงสร้าง HTML ต่อไปนี้และฉันได้แนบdragenterและdragleaveกิจกรรมกับ<div id="dropzone">องค์ประกอบ <div id="dropzone"> <div id="dropzone-content"> <div id="drag-n-drop"> <div class="text">this is some text</div> <div class="text">this is a container with text and images</div> </div> </div> </div> ปัญหา เมื่อฉันลากไฟล์ไป<div id="dropzone">บนdragenterเหตุการณ์จะเริ่มทำงานตามที่คาดไว้ แต่เมื่อฉันเลื่อนเมาส์ของฉันมากกว่าองค์ประกอบลูกเช่น<div id="drag-n-drop">การdragenterจัดกิจกรรมที่เป็นเชื้อเพลิงสำหรับ<div id="drag-n-drop">องค์ประกอบแล้วdragleaveเหตุการณ์ถูกยิงสำหรับ<div id="dropzone">องค์ประกอบ หากฉันเลื่อนเมาส์ไปที่<div id="dropzone">องค์ประกอบอีกครั้งdragenterเหตุการณ์จะถูกยิงอีกครั้งซึ่งเยี่ยมยอด แต่จากนั้นdragleaveเหตุการณ์จะถูกไล่ออกสำหรับองค์ประกอบลูกเพิ่งออกไปดังนั้นremoveClassคำสั่งจะถูกดำเนินการซึ่งไม่เย็น พฤติกรรมนี้เป็นปัญหาด้วยเหตุผล 2 ประการ: ฉันก็แค่ติดdragenterและdragleaveไป<div id="dropzone">ดังนั้นผมจึงไม่เข้าใจว่าทำไมองค์ประกอบเด็กมีเหตุการณ์เหล่านี้ที่แนบมาด้วยเช่นกัน ฉันยังคงลาก<div id="dropzone">องค์ประกอบขณะโฉบเหนือลูกของมันดังนั้นฉันไม่ต้องการdragleaveยิง! jsFiddle นี่คือ jsFiddle เพื่อคนจรจัดด้วย: http://jsfiddle.net/yYF3S/2/ …

12
ลากไฟล์วางลงในการป้อนไฟล์ html มาตรฐาน
วันนี้เราสามารถลากและวางไฟล์ลงในคอนเทนเนอร์พิเศษแล้วอัปโหลดด้วย XHR 2 หลายครั้ง ด้วยแถบความคืบหน้าสด ฯลฯ สิ่งดีๆมาก ตัวอย่างที่นี่ แต่บางครั้งเราไม่ต้องการความเยือกเย็นขนาดนั้น สิ่งที่ผมต้องการคือการลากและวางไฟล์ - หลายครั้ง - เข้าใส่ไฟล์ HTML มาตรฐาน<input type=file multiple> : เป็นไปได้ไหม มีวิธีการ 'เติม' ไฟล์อินพุตด้วยชื่อไฟล์ที่ถูกต้อง (?) จากไฟล์ดรอปหรือไม่? (เส้นทางไฟล์แบบเต็มไม่พร้อมใช้งานสำหรับเหตุผลด้านความปลอดภัยของระบบไฟล์) ทำไม? เพราะฉันต้องการส่งแบบฟอร์มปกติ สำหรับเบราว์เซอร์และอุปกรณ์ทั้งหมด การลากและวางเป็นเพียงการเพิ่มระดับความก้าวหน้าเพื่อปรับปรุงและลดความซับซ้อนของ UX แบบฟอร์มมาตรฐานพร้อมไฟล์อินพุตมาตรฐาน (+ multipleแอตทริบิวต์) จะอยู่ที่นั่น ฉันต้องการเพิ่มการปรับปรุง HTML5 แก้ไข ฉันรู้ว่าในบางเบราว์เซอร์ที่คุณสามารถบางครั้ง (เกือบตลอดเวลา) วางไฟล์ลงในไฟล์ของตัวเอง ฉันรู้ว่า Chrome ทำเช่นนี้ แต่บางครั้งมันก็ล้มเหลวแล้วโหลดไฟล์ในหน้าปัจจุบัน (ล้มเหลวมากถ้าคุณกรอกแบบฟอร์ม) ฉันต้องการที่จะหลอก & เบราว์เซอร์มัน

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

6
วิธีการสร้างอินสแตนซ์อ็อบเจ็กต์ไฟล์ใน JavaScript
มีFileวัตถุใน JavaScript ฉันต้องการสร้างอินสแตนซ์เพื่อวัตถุประสงค์ในการทดสอบ ฉันได้ลองnew File()แล้ว แต่ได้รับข้อผิดพลาด "ตัวสร้างที่ผิดกฎหมาย" เป็นไปได้ไหมที่จะสร้างFileวัตถุ? การอ้างอิง File Object: https://developer.mozilla.org/en/DOM/File

21
ทำไม $ _FILES จะว่างเปล่าเมื่ออัปโหลดไฟล์ไปยัง PHP
ฉันติดตั้ง WampServer 2 บนคอมพิวเตอร์ Windows 7 ของฉันแล้ว ฉันใช้ Apache 2.2.11 และ PHP 5.2.11 เมื่อฉันพยายามอัปโหลดไฟล์ใด ๆ จากแบบฟอร์มดูเหมือนว่าจะอัปโหลด แต่ใน PHP $_FILESอาร์เรย์จะว่างเปล่า ไม่มีไฟล์ในc:\wamp\tmpโฟลเดอร์ ฉันได้กำหนดค่าphp.iniให้อนุญาตการอัปโหลดไฟล์และอื่น ๆ tmpโฟลเดอร์ได้อ่าน / เขียนสิทธิพิเศษสำหรับผู้ใช้ปัจจุบัน ฉันนิ่งงัน HTML: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <form enctype="multipart/form-data" action="vanilla-upload.php" method="POST"> Choose a file to upload: <input name="uploadedfile" type="file" /><br /> …
145 php  apache  file-upload 

7
รับข้อมูลจากการป้อนไฟล์ใน JQuery
ฉันมีอินพุตไฟล์จริงๆและฉันต้องการดึงข้อมูล Base64 ของไฟล์ ฉันเหนื่อย: $('input#myInput')[0].files[0] เพื่อดึงข้อมูล แต่จะให้เฉพาะชื่อความยาวประเภทเนื้อหา แต่ไม่ระบุข้อมูล ฉันต้องการข้อมูลเหล่านี้เพื่อส่งไปยัง Amazon S3 ฉันทดสอบ API แล้วและเมื่อฉันส่งข้อมูลผ่านรูปแบบ html ที่มีการเข้ารหัสประเภท "multipart / form-data" ก็ใช้ได้ ฉันใช้ปลั๊กอินนี้: http://jasny.github.com/bootstrap/javascript.html#fileupload และปลั๊กอินนี้ให้ฉันดูตัวอย่างรูปภาพและฉันดึงข้อมูลในแอตทริบิวต์ src ของการแสดงตัวอย่างรูปภาพ แต่เมื่อฉันส่งข้อมูลเหล่านี้ไปยัง S3 มันไม่ทำงาน ฉันอาจต้องเข้ารหัสข้อมูลเช่น "multipart / form-data" แต่ฉันไม่รู้ว่าทำไม มีวิธีดึงข้อมูลเหล่านี้โดยไม่ใช้แบบฟอร์ม html หรือไม่?

6
ทดสอบการอัพโหลดไฟล์โดยใช้ rspec - rails
ฉันต้องการทดสอบการอัปโหลดไฟล์ในราง แต่ไม่แน่ใจว่าจะทำอย่างไร นี่คือรหัสควบคุม: def uploadLicense #Create the license object @license = License.create(params[:license]) #Get Session ID sessid = session[:session_id] puts "\n\nSession_id:\n#{sessid}\n" #Generate a random string chars = ("a".."z").to_a + ("A".."Z").to_a + ("0".."9").to_a newpass = "" 1.upto(5) { |i| newpass << chars[rand(chars.size-1)] } #Get the original file name upload=params[:upload] name = upload['datafile'].original_filename …

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