मैं FileReader readAsArrayBuffer प्रॉपर्टी का उपयोग कर स्थानीय फ़ाइल पढ़ने की कोशिश कर रहा हूं। पढ़ना सफलता है और "ऑनलोड" कॉलबैक में, मुझे रीडर.रेसल्ट में ऐरे बफर ऑब्जेक्ट दिखाई देता है। लेकिन ऐरे बफर बस खाली है। लंबाई सेट है, लेकिन डेटा नहीं है। मैं यह डेटा कैसे प्राप्त करूं?जावास्क्रिप्ट readAsArrayBuffer खाली रिटर्न देता है Array Buffer
यहाँ मेरी कोड
<!DOCTYPE html>
<html>
<body>
<input type="file" id="file" />
</body>
<script>
function handleFileSelect(evt) {
var files = evt.target.files; // FileList object
var selFile = files[0];
var reader = new FileReader();
reader.onload = function(e) {
console.log(e.target.result);
};
reader.onerror = function(e) {
console.log(e);
};
reader.readAsArrayBuffer(selFile);
}
document.getElementById('file').addEventListener('change', handleFileSelect, false);
</script>
</html>
reader.result
के लिए कंसोल आउटपुट हैe.target.result
ArrayBuffer {}
e.target.result.byteLength
25312
किसी को मुझे बताओ कि इस डेटा प्राप्त करने के लिए कर सकते हैं? क्या कोई सुरक्षा समस्या है? कोई त्रुटि नहीं है, आतंक निष्पादित नहीं किया गया है।
टिप्पणियों से: क्या आप कृपया मुझे बफर सामग्री तक पहुंचने के बारे में बता सकते हैं? मैं वास्तव में AudioContext
का उपयोग कर एक ऑडियो फ़ाइल चलाने की कोशिश कर रहा हूं ... इसके लिए मुझे बफर डेटा की आवश्यकता होगी ...
क्यों आपको लगता है कि बफर खाली है? आपका कोड वास्तव में बफर सामग्री का उपयोग/निरीक्षण नहीं करता है। शायद आप 'console.log' आउटपुट से उलझन में हैं? 'console.log()' बफर की सामग्री मुद्रित नहीं करेगा। – nmaier
धन्यवाद nmaier, मैंने वही सोचा ... लेकिन मुझे नहीं पता कि बफर सामग्री का उपयोग कैसे करें ... क्या आप कृपया मुझे बफर सामग्री तक पहुंचने के बारे में बता सकते हैं? मैं वास्तव में ऑडियोकॉन्टेक्स्ट का उपयोग कर ऑडियो फ़ाइल चलाने की कोशिश कर रहा हूं ... इसके लिए मुझे बफर डेटा की आवश्यकता होगी ... आपकी मदद के लिए बहुत धन्यवाद –
आप ऑनलोडेंड ईवेंट की बजाय ऑनलोड ईवेंट का उपयोग कर रहे हैं। यदि आप अधिभार ईवेंट को ऑनलोड द्वारा प्रतिस्थापित करते हैं तो आपका कोड काम करेगा। देखें: https://developer.mozilla.org/en-US/docs/Web/API/FileReader – seb