Wednesday 12 July 2017

จาวาสคริ หยด ชนิด ไบนารี ตัวเลือก


ฟังก์ชัน atob จะถอดรหัสสตริงที่เข้ารหัส base64 เป็นสตริงใหม่พร้อมด้วยอักขระสำหรับแต่ละไบต์ของข้อมูลไบนารีแต่ละจุดของอักขระ charCode จะเป็นค่าของไบต์เราสามารถสร้างอาร์เรย์ของค่าไบต์ได้โดยใช้วิธีนี้ วิธีการสำหรับแต่ละตัวอักษรใน string. You สามารถแปลงอาร์เรย์นี้ของค่าไบต์ลงในอาร์เรย์ byte พิมพ์จริงโดยส่งผ่านไปยังตัวสร้าง Uint8Array ซึ่งจะสามารถแปลงเป็น Blob โดยการห่อหุ้มไว้ในอาร์เรย์ผ่านไปยัง Blob constructor รหัสข้างต้นทำงานอย่างไรก็ตามประสิทธิภาพสามารถปรับปรุงเล็กน้อยโดยการประมวลผล byteCharacters ในชิ้นเล็กกว่าทั้งหมดในครั้งเดียวในการทดสอบของฉันหยาบ 512 ไบต์ดูเหมือนจะเป็นขนาดชิ้นดีนี้จะช่วยให้เราทำงานต่อไปนี้เป็นตัวอย่างที่ดี . ตอบ 26 เม. ย. 52 เวลา 21 51.Great solution แต่ใน IE 10 มันล้มเหลวที่ขั้นตอนสุดท้าย blobUrl ให้ข้อผิดพลาด SCRIPT5 Access Denied เดียวกันเกิดขึ้นถ้าใช้ blobUrl กับ Chrome ok guari พฤศจิกายน 21 13 ที่ 23 19 นี้ไม่ได้ ทำงานใน Saf ari คุณช่วยกรุณาให้ฉันโหลดไม่โหลดเฟรมโหลดขัดจังหวะข้อผิดพลาด Selvakumar Ponnusamy 24 พฤษภาคม 16 at 8 37. ฉันสังเกตเห็นว่า Internet Explorer 11 ได้รับอย่างไม่น่าเชื่อช้าเมื่อ slicing ข้อมูลเช่น jeremy แนะนำนี้เป็นจริงสำหรับ Chrome แต่ IE ดูเหมือนว่าจะมีปัญหาเมื่อส่งผ่านข้อมูลที่หั่นเป็นชิ้นไปยัง Blob-Constructor ในเครื่องของฉันการส่งข้อมูล 5 MB ทำให้ความผิดพลาดของ IE และการใช้หน่วยความจำกำลังทะลุผ่านหลังคา Chrome จะสร้าง Blob ในเวลาไม่นานลองใช้รหัสนี้เพื่อเปรียบเทียบ ดังนั้นผมจึงตัดสินใจที่จะรวมทั้งสองวิธีที่อธิบายไว้โดย Jeremy ในหนึ่งฟังก์ชั่นเครดิตไปหาเขาสำหรับ this. Working กับไฟล์ใน JavaScript, ส่วนที่ 5 Blobs. Posted ที่ 5 มิถุนายน 2012 โดย Nicholas C Zakas. Up ไปยังจุดนี้ชุดบทความนี้ ได้เน้นการโต้ตอบกับไฟล์ที่ระบุโดยผู้ใช้และเข้าถึงได้ผ่านทางอ็อบเจ็กต์ File วัตถุ File เป็นจริงเฉพาะรุ่นของ Blob ซึ่งหมายถึงก้อนข้อมูลไบนารีขนาดและคุณสมบัติ type มีอยู่ในวัตถุ Blob และสืบทอดโดย Fil e. In ส่วนใหญ่ Blob s และไฟล์ s สามารถใช้ในสถานที่เดียวกันตัวอย่างเช่นคุณสามารถอ่านจาก Blob โดยใช้ FileReader และคุณสามารถสร้าง URL ของวัตถุจากการใช้ Blob หนึ่งในสิ่งที่น่าสนใจที่คุณสามารถทำได้ ด้วย Blob s และดังนั้นไฟล์ s คือการสร้าง Blob ใหม่ตามส่วนย่อยของอีกอันหนึ่งเนื่องจากแต่ละ Blob เพียงแค่หมายถึงตัวชี้ไปยังข้อมูลแทนที่จะเป็นข้อมูลเองคุณสามารถสร้างวัตถุ Blob ใหม่ที่ชี้ไปยังส่วนย่อยของผู้อื่นได้ ทำได้โดยการใช้วิธี slice คุณอาจจะคุ้นเคยกับ slice บน strings และอาร์เรย์และส่วนที่เป็นของ blob s จะทำงานในลักษณะคล้าย ๆ กัน Method นี้ยอมรับอาร์กิวเมนต์สามข้อที่ offset ของไบต์เริ่มต้น, offset ของ byte ที่สิ้นสุดและ a เลือกประเภท MIME เพื่อนำไปใช้กับ Blob หากไม่มีการกำหนดชนิด MIME ไว้ Blob ใหม่มีชนิด MIME เหมือนกันกับเวอร์ชันเดิมการสนับสนุนเครื่องเบรคสำหรับ Slice ยังไม่แพร่หลายโดย Firefox สนับสนุน Chrome OSX ผ่านทาง mozSlice และ webkitSlice ใน Chrome ไม่มีอื่น ๆ เบราว์เซอร์สนับสนุนการทำงานนี้ตามที่ได้รับ ปัจจุบันนี้เป็นตัวอย่างคุณสามารถใช้ฟังก์ชันนี้เช่นแยกไฟล์ขนาดใหญ่เพื่ออัปโหลดไฟล์ในแต่ละชิ้นใหม่ที่หยิบออกมาเป็นอิสระจากต้นฉบับแม้ว่าข้อมูลแต่ละรายการจะมีการทับซ้อนกันวิศวกรที่ Flickr ใช้หยดแบบหยดเพื่ออ่านข้อมูล Exif จากรูปภาพที่อัปโหลด 1 แทนที่จะรอไปที่ไฟล์บนเซิร์ฟเวอร์เมื่อเลือกไฟล์ไว้หน้าอัปโหลด Flickr พร้อมกันจะเริ่มอัปโหลดไฟล์และอ่านข้อมูล Exif จากภาพนี้ ช่วยให้พวกเขาสามารถแสดงตัวอย่างเมตาดาต้าที่คัดแยกไว้ในหน้าเว็บขณะที่ไฟล์กำลังถูกอัปโหลดสร้าง Blobs ทางเก่าเร็ว ๆ นี้หลังจากที่ออบเจ็กต์ไฟล์เริ่มปรากฏในเบราว์เซอร์นักพัฒนาซอฟต์แวร์ได้ตระหนักว่าวัตถุ Blob มีประสิทธิภาพมากและต้องการที่จะเป็น สามารถสร้างได้โดยไม่ต้องโต้ตอบกับผู้ใช้หลังจากข้อมูลทั้งหมดสามารถแสดงใน Blob ได้โดยไม่จำเป็นต้องเชื่อมโยงกับไฟล์เบราว์เซอร์ที่ตอบสนองได้อย่างรวดเร็วโดยการสร้าง BlobBuilder typ ซึ่งวัตถุประสงค์เพียงอย่างเดียวคือการตัดข้อมูลบางอย่างในวัตถุ Blob ซึ่งเป็นประเภทที่ไม่ได้มาตรฐานและได้รับการติดตั้งใน Firefox เป็น MozBlobBuilder, Internet Explorer 10 เป็น MSBlobBuilder และ Chrome เป็น WebKitBlobBuilder BlobBuilder ทำงานโดยสร้างอินสแตนซ์ใหม่และเรียก ต่อท้ายวิธีการด้วยสตริง ArrayBuffer หรือ Blob เมื่อข้อมูลทั้งหมดถูกเพิ่มเข้าไปแล้วคุณจะเรียกเมธอดและส่งผ่าน MIME แบบเลือกที่ควรใช้กับ Blob Here นี่เป็นตัวอย่างความสามารถในการสร้าง URL สำหรับชิ้นส่วนข้อมูลที่ต้องการ มีประสิทธิภาพอย่างเหลือเชื่อช่วยให้คุณสามารถสร้างอ็อบเจ็กต์ที่สามารถจัดการกับไฟล์ในเบราเซอร์ได้อย่างรวดเร็วตัวอย่างเช่นคุณสามารถใช้ Blob เพื่อสร้างเวิร์กชีตโดยไม่ต้องมีไฟล์แยกต่างหากสำหรับรหัสผู้ปฏิบัติงานเทคนิคนี้เขียนขึ้นในข้อมูลพื้นฐาน ของ Web Workers 2. รหัสนี้สร้างสคริปต์แบบเรียบง่ายและสร้าง URL ของอ็อบเจ็กต์ URL ของอ็อบเจ็กต์ถูกกำหนดให้กับผู้ปฏิบัติงานเว็บแทน URL ของสคริปต์คุณสามารถเรียกผนวกได้หลายครั้งเท่าที่คุณต้องการ เนื้อหาของ Blob. Creating Blobs วิธีใหม่เนื่องจากนักพัฒนายังคง clamoring สำหรับวิธีการสร้างวัตถุ Blob โดยตรงและเบราว์เซอร์มากับ BlobBuilder ก็ตัดสินใจที่จะเพิ่ม constructor Blob constructor นี้เป็นส่วนหนึ่งของข้อกำหนดและจะเป็น วิธีที่วัตถุ Blob ถูกสร้างขึ้นในอนาคตตัวสร้างยอมรับอาร์กิวเมนต์ที่สองข้อแรกคืออาร์เรย์ของส่วนที่จะรวมเป็น Blob เหล่านี้จะเป็นค่าเดียวกับที่ผ่านเข้าไปในวิธีการผนวกของ BlobBuilder และสามารถเป็นจำนวนสตริงใด ๆ Blob s และ ArrayBuffer s อาร์กิวเมนต์ที่สองคืออ็อบเจ็กต์ที่มีคุณสมบัติของ Blob ที่สร้างขึ้นใหม่ขณะนี้มีคุณสมบัติสองอย่างที่กำหนดไว้ซึ่งระบุชนิด MIME ของ Blob และตอนท้ายซึ่งสามารถเป็นค่าเริ่มต้นของความโปร่งใสหรือแบบเนมได้ตัวอย่างเช่น ที่คุณสามารถดูได้ง่ายกว่าการใช้ BlobBuilder. The Blob constructor ปัจจุบันอยู่ในการสร้างยามค่ำคืนของ Chrome และจะอยู่ใน Firefox 13 เบราว์เซอร์อื่น ๆ ยังไม่ได้ประกาศแผนการ เพื่อใช้ constructor นี้ แต่ตอนนี้เป็นส่วนหนึ่งของมาตรฐาน File API 3 และคาดว่าจะใช้งานได้อย่างกว้างขวางนี่เป็นส่วนสุดท้ายของชุดข้อมูลเกี่ยวกับการทำงานกับไฟล์ใน JavaScript เนื่องจากฉันหวังว่าคุณจะได้เรียนรู้ File API จึงไม่น่าเชื่อ ที่มีประสิทธิภาพและเปิดขึ้นวิธีการใหม่ทั้งหมดของการทำงานกับไฟล์ในเว็บแอพพลิเคชันคุณไม่จำเป็นต้องติดกล่องอัพโหลดไฟล์ธรรมดาเมื่อผู้ใช้จำเป็นต้องอัปโหลดไฟล์และขณะนี้คุณสามารถอ่านไฟล์ในไคลเอ็นต์ได้ซึ่งจะเปิดขึ้นทุกประเภท คุณสามารถปรับขนาดภาพที่มีขนาดใหญ่เกินไปก่อนที่จะอัปโหลดโดยใช้ FileReader และผืนผ้าใบที่คุณสามารถสร้างโปรแกรมแก้ไขข้อความที่ทำงานได้อย่างหมดจดในเบราว์เซอร์ที่คุณสามารถแยกไฟล์ขนาดใหญ่เพื่ออัปโหลดชิ้นต่อชิ้นความเป็นไปได้ aren t ไม่มีที่สิ้นสุดมาก แต่จะสวยปิดปิดการปฏิเสธความเห็นข้อคิดเห็นใด ๆ และความคิดเห็นที่แสดงในบทความนี้เป็นนิโคลัส C Zakas และไม่ได้ในทางใด ๆ สะท้อนให้เห็นถึงนายจ้างของฉันเพื่อนร่วมงานของฉัน Wrox Publishing O Reilly Publishing หรือบุคคลอื่นที่ฉันพูดเฉพาะสำหรับตัวเองไม่ได้สำหรับพวกเขาบทความที่น่าสนใจ Postscript. Student. Recent Posts. Reading ข้อมูลไบนารีโดยใช้ jQuery Ajax. Post navigation. This เป็นตัวอย่างของวิธีการที่ฉันสามารถคัดลอกไฟล์ไบนารีจากไลบรารีเอกสาร การ List รายการ item. uploadForm function itemID var formTemplateUrl var fileName ชื่อ var listname MyList ร้องขอ ajax ของสตริง dataType binary. var a1 url formTemplateUrl, method GET, dataType ไบนารี, processData false , A2 ส่งกลับคำสัญญาใหม่ กำลังดาวน์โหลดไฟล์ FormTemplateUrl การอัพโหลดไฟล์แนบไปยังรายการ SharePoint โดยใช้ REST. return url api web list รายการ getbytitle itemname itemID AttachmentFiles add FileName fileName วิธี POST ข้อมูล data processData false ส่วนหัวยอมรับการประยุกต์ใช้ json odata verbose, X-RequestDigest ไฟล์ที่อัพโหลดชื่อไฟล์.Rodrigo V Lagos Eustquio. Im ที่ได้รับ CORS Access-Control-Allow-Origin ไม่ปรากฏ แต่เซิร์ฟเวอร์ของฉันเปิดอยู่ทั้งหมด Tnks. Hello โค้ดนี้ทำงานได้ดีใน Chrome และ IE แต่ไม่อยู่ใน FireFox มีโค้ดของฉัน type POST, url action ts ข้อมูลใหม่ tnt ใหม่ FormData นี้ processData false, contentType false dataType binary การตอบสนองสถานะการตรวจสอบความสำเร็จของ xhr check ชื่อไฟล์ var ชื่อไฟล์ชื่อไฟล์ var disposition Content-Disposition ถ้าสิ่งที่แนบมา disposition -1 var filenameRegex filename n 2 n var matches ถ้าตรงกับ null match 1 ชื่อไฟล์ g, var type Content-type var blob new Blob response , การตอบสนอง var blob ถ้าชนิดของการแก้ปัญหา IE ไม่ได้กำหนดไว้สำหรับ HTML7007 URL หยดหนึ่งรายการขึ้นไปถูกเพิกถอนโดยการปิดช่องทำเครื่องหมายที่สร้างขึ้น URL เหล่านี้จะไม่สามารถแก้ไขได้เนื่องจากข้อมูลที่สำรองไว้ URL ถูกปลดปล่อยแล้วชื่อไฟล์ var var var downloadUrl. if ชื่อไฟล์ใช้ HTML5 แอ็ตทริบิวต์ดาวน์โหลดเพื่อระบุชื่อไฟล์ var aa safari doesn t สนับสนุนนี้ แต่ถ้า typeof undefined downloadUrl else downloadUrl ชื่อไฟล์เตือนไม่สามารถอัพโหลดรหัสชุดรหัสทั้งหมดได้ตารางเวลาค่าธรรมเนียมไฟล์ที่อัปโหลด แต่มีข้อผิดพลาดในการตรวจสอบเพียงไม่กี่โปรดดูที่ ไฟล์ที่ดาวน์โหลดมาในเครื่องของคุณโหลดอัปโหลดการเข้าถึง true jqXHR, กล่องโต้ตอบการแจ้งเตือน textStatus หลังจากไดรฟ์ข้อมูลข้อผิดพลาดไฟล์เซอร์วิสอัปโหลดSuccess false warn ing เกิดข้อผิดพลาดในการอัพโหลดชุดโค้ดไม่มีข้อความตอบกลับจากบริการข้อผิดพลาดทั่วไปส่งคืน false. Can ทุกคนช่วยฉันในขณะที่ this. A วัตถุ Blob แสดงถึงวัตถุเหมือนไฟล์ที่ไม่เปลี่ยนรูปข้อมูลดิบ Blobs แสดงข้อมูลที่ isn t จำเป็นต้องใช้ใน JavaScript - รูปแบบดั้งเดิมอินเทอร์เฟซ File ขึ้นอยู่กับ Blob สืบทอดการทำงานของ Blob และขยายเพื่อสนับสนุนไฟล์ในระบบของผู้ใช้การสร้าง Blob จากวัตถุและข้อมูลที่ไม่หยดอื่น ๆ ให้ใช้ตัวสร้าง Blob เพื่อสร้างหยดที่มีชุดย่อยของ ข้อมูลอื่น ๆ ของ blob ใช้วิธี slice เพื่อให้ได้วัตถุ Blob สำหรับไฟล์ในระบบไฟล์ของผู้ใช้ให้ดูที่เอกสารประกอบไฟล์ APIs ที่ยอมรับวัตถุ Blob จะแสดงรายการอยู่ในเอกสาร File หมายเหตุคำแนะนำวิธีการของ Slice ได้เริ่มแรกแล้ว เป็นอาร์กิวเมนต์ที่สองเพื่อระบุจำนวนไบต์ที่จะคัดลอกลงใน Blob ใหม่ถ้าคุณระบุค่าเช่นที่เริ่มต้นความยาวเกินขนาดของ Blob แหล่งข้อมูล Blob ที่ส่งกลับมีข้อมูลจากดัชนีเริ่มต้นไปยังจุดสิ้นสุดของ source blob. Note โปรดทราบว่าวิธี slice มีคำนำหน้าผู้จำหน่ายในบางเบราว์เซอร์และเวอร์ชันสำหรับ Firefox 12 และเวอร์ชันก่อนหน้าและใน Safari เวอร์ชันเก่าของวิธี slice โดยไม่มีคำนำหน้าผู้ขายมีความหมายที่แตกต่างกันและล้าสมัยการสนับสนุนสำหรับ ถูกปล่อยทิ้งด้วย Firefox 30.Blob blobParts ตัวเลือกส่งกลับวัตถุ Blob ที่สร้างขึ้นใหม่ซึ่งเนื้อหาประกอบด้วยการต่ออาร์เรย์ของค่าที่ระบุในพารามิเตอร์ อ่านเท่านั้นค่าบูลีนระบุว่ามีการเรียกใช้เมธอดนี้บน Blob ไม่สามารถอ่านข้อมูลแบบอ่านอย่างเดียวอ่านเท่านั้นขนาดไบต์ข้อมูลที่มีอยู่ในวัตถุ Blob อ่านอย่างเดียวสตริงที่ระบุชนิด MIME ของข้อมูลที่มีอยู่ ใน Blob ถ้าชนิดไม่เป็นที่รู้จักสตริงนี้ว่างเปล่า ปิดวัตถุ blob อาจพ้นสิ้นสุดทรัพยากรต้นแบบ contentType ส่งกลับวัตถุ Blob ใหม่ที่มีข้อมูลในช่วงที่ระบุของไบต์ของแหล่งที่มา Blob. Blob constructor ตัวอย่างการใช้งาน Blob constructor ช่วยให้หนึ่งในการสร้าง blobs จากวัตถุอื่น ๆ ตัวอย่างเช่น, เพื่อสร้าง Blob จากสตริงก่อนที่ตัวสร้าง Blob สามารถใช้งานได้คุณสามารถทำได้ผ่านทาง BlobBuilder API ซึ่งตอนนี้เลิกใช้แล้วตัวอย่างเช่นในการสร้าง URL ไปยังอาร์เรย์ที่พิมพ์โดยใช้รหัสหยดต่อไปนี้ตัวอย่างเช่นสำหรับการดึงข้อมูลจาก Blob วิธีเดียวในการอ่านเนื้อหาจาก Blob คือการใช้ FileReader โค้ดต่อไปนี้อ่านเนื้อหาของ Blob เป็นอาร์เรย์ที่พิมพ์โดยการใช้วิธีการอื่น ๆ ของ FileReader คุณสามารถอ่านเนื้อหาของ Blob เป็นสตริง หรือ URL ข้อมูล 1 รุ่นของชิ้นใช้เวลานานเป็นอาร์กิวเมนต์ที่สองถูกนำมาใช้ใน WebKit และ Opera 11 10 อย่างไรก็ตามตั้งแต่ไวยากรณ์ที่แตกต่างจาก WebKit และลบการสนับสนุนและเพิ่มการสนับสนุนสำหรับไวยากรณ์ใหม่เป็น 2 รุ่นของชิ้นใช้เวลานานเป็นอาร์กิวเมนต์ที่สองถูกนำมาใช้ใน Firefox 4 อย่างไรก็ตามตั้งแต่ไวยากรณ์ที่แตกต่างจากตุ๊กแกและออกสนับสนุนและเพิ่มการสนับสนุนสำหรับไวยากรณ์ใหม่เป็น mozSlice 3 ก่อนที่จะมีตุ๊กแก 12 0 Firefox 12 0 Thunderbird 12 0 SeaMonkey 2 9 มีข้อผิดพลาดที่ส่งผลต่อพฤติกรรมของชิ้นงานไม่ได้สำหรับจุดเริ่มต้นและจุดสิ้นสุดที่อยู่นอกช่วงของค่า 64 บิตที่ลงลายเซ็นซึ่งขณะนี้ได้รับการแก้ไขแล้ว สนับสนุนค่า 64 บิตที่ไม่ได้ระบุความลับของ Gecko มีอยู่ในโค้ดที่ได้รับการยกเว้นหากต้องการใช้โค้ด Chrome, JSM และ Bootstrap คุณจะต้องนำเข้าข้อมูลดังกล่าวนี้โดยปกติแล้ว BLOB มีอยู่ในขอบเขตของ Workers บทความนี้มีประโยชน์โดยใช้ชื่อแฟ้มและผู้ร่วมให้ข้อมูล ขอบคุณกรุณาตรวจสอบกล่องจดหมายของคุณเพื่อยืนยันการสมัครสมาชิกหากคุณไม่ได้สมัครสมาชิกจดหมายข่าวที่เกี่ยวข้องกับ Mozilla ก่อนหน้านี้โปรดตรวจสอบกล่องจดหมายหรือตัวกรองสแปมของคุณเพื่อรับอีเมลจาก us. Hide Newsletter Sign-up 2005-2017 Mozilla Developer Network และผู้ให้ข้อมูลส่วนบุคคลเนื้อหาเหล่านี้มีอยู่ภายใต้สัญญาอนุญาตเหล่านี้การส่งและการรับข้อมูลไบนารีการรับข้อมูลไบนารีโดยใช้อาร์เรย์ที่พิมพ์ด้วย JavaScript คุณสมบัติ r esponseType ของอ็อบเจ็กต์สามารถตั้งค่าเพื่อเปลี่ยนความคาดหวัง ชนิดการตอบสนองจากเซิร์ฟเวอร์ค่าที่เป็นไปได้คือค่าดีฟอลต์ของสตริงที่ว่างเปล่าอาร์เรย์อาร์เรย์เอกสาร blob json และข้อความคุณสมบัติตอบสนองจะมีเอนทิตีตาม responseType เป็น ArrayBuffer Blob JSON หรือสตริงนี่เป็นโมฆะถ้าคำขอไม่สมบูรณ์หรือไม่ ประสบความสำเร็จตัวอย่างนี้อ่านภาพเป็นไฟล์ไบนารีและสร้างอาร์เรย์จำนวนเต็ม 8 บิต unsigned จากไบต์ดิบโปรดทราบว่าจะไม่ถอดรหัสภาพและอ่านพิกเซลคุณจะต้องมีห้องสมุดถอดรหัส png สำหรับที่อื่นแทน ข้างต้นใช้ส่วนติดต่อแบบหยดเพื่อสร้าง Blob โดยตรงกับข้อมูล arraybuffer นอกจากนี้คุณสามารถอ่านไฟล์ไบนารีเป็น Blob โดยการตั้งค่าสตริง Blob ไปยังคุณสมบัติ responseType การเรียกข้อมูลไบนารีในเบราว์เซอร์ที่เก่ากว่าฟังก์ชัน Loadbinaryresource ที่แสดงด้านล่างจะโหลดไบนารี ข้อมูลจาก URL ที่ระบุส่งกลับไปยังผู้โทรมายากลเกิดขึ้นในบรรทัดที่ 5 ซึ่งจะลบล้างประเภท MIME ซึ่งบังคับให้เบราว์เซอร์ถือว่าเป็นข้อความธรรมดา u ร้องชุดอักขระที่กำหนดโดยผู้ใช้ซึ่งจะบอกเบราเซอร์ไม่ให้แยกวิเคราะห์และปล่อยให้ไบต์ผ่านไปยังที่ยังไม่ได้ตัวอย่างข้างต้นเรียกไบต์ที่ออฟเซต x ภายในข้อมูลไบนารีที่โหลดช่วงที่ถูกต้องสำหรับ x คือตั้งแต่ 0 ถึง. ข้อมูลไบนารีที่ใดก็ได้ห้องสมุด java สำหรับการทำงานกับข้อมูลไบนารีใน JavaScript ช่วยให้สามารถโหลดข้อมูลจากแหล่งข้อมูลใด ๆ ที่มีวิธีการสนับสนุนที่ดีที่สุดที่ได้รับการสนับสนุนโดยอัตโนมัติในเบราว์เซอร์ปัจจุบันหรือการส่งข้อมูลไบนารีวิธีการส่งข้อมูลได้รับการขยายเพื่อให้สามารถส่งข้อมูลไบนารีได้ง่าย โดยการยอมรับ ArrayBuffer Blob หรือ File object ตัวอย่างต่อไปนี้จะสร้างไฟล์ข้อความแบบ on-the-fly และใช้วิธี POST เพื่อส่งไฟล์ไปยังเซิร์ฟเวอร์ตัวอย่างนี้ใช้ข้อความล้วน แต่คุณสามารถจินตนาการว่าข้อมูลเป็นไฟล์ไบนารี แทนการส่งอาร์เรย์ที่พิมพ์เป็นข้อมูลไบนารีคุณสามารถส่งอาร์เรย์ที่พิมพ์ด้วย JavaScript เป็นข้อมูลไบนารีได้เช่นกันนี่คือการสร้างอาร์เรย์ 512 ไบต์ของจำนวนเต็ม 8 บิตและส่งข้อมูลคุณสามารถใช้ข้อมูลไบนารีที่คุณต้องการได้แน่นอน หมายเหตุ S upport สำหรับการส่งอ็อบเจ็กต์ ArrayBuffer โดยใช้การเพิ่ม Gecko 9 0 Firefox 9 0 Thunderbird 9 0 SeaMonkey 2 6 เพิ่มข้อมูลเกี่ยวกับเบราว์เซอร์อื่น ๆ ที่สนับสนุนรูปแบบการส่งและอัพโหลดไฟล์ตัวอย่างเฉพาะที่เฉพาะเจาะจงของ Firefox ตัวอย่างนี้ส่งเนื้อหาไบนารี asynchronously โดยใช้ POST วิธีการและ Firefox ที่ไม่ได้มาตรฐาน sendAsBinary. Line 4 กำหนดส่วนหัว Content-Length เป็น 741 ซึ่งระบุว่าข้อมูลมีความยาว 741 bytes แน่นอนคุณต้องเปลี่ยนค่านี้ตามขนาดที่แท้จริงของข้อมูลที่ส่งถึงบรรทัดที่ 5 ใช้ เมธอด sendAsBinary เพื่อเริ่มต้นการร้องขอหมายเหตุวิธีการ sendAsBinary ที่ไม่ได้มาตรฐานนี้ถือว่าเลิกใช้เป็น Gecko 31 Firefox 31 Thunderbird 31 SeaMonkey 2 28 และจะถูกลบออกเร็ว ๆ นี้วิธีการส่งข้อมูลแบบ Blob มาตรฐานสามารถใช้แทนได้ตามที่ได้อธิบายไว้ข้างต้นคุณสามารถ ยังส่งเนื้อหาไบนารีโดยส่งอินสแตนซ์ของ nsIFileInputStream เพื่อส่งในกรณีนี้คุณจะต้องตั้งส่วนหัว Content-Length ด้วยตัวคุณเองเนื่องจากข้อมูลถูกเรียกจาก สตรีมโดยอัตโนมัติหากบทความนี้มีประโยชน์

No comments:

Post a Comment