2010-11-10 23 views
5

मैं FileSystemObject का उपयोग कर जावास्क्रिप्ट में एक फ़ंक्शन विकसित कर रहा हूं, जहां मुझे केवल एक फ़ाइल में लिखना है जो हमें प्रदान किया गया है। यह मेरा काम है।FileSystemObject लिखने के साथ बाइनरी डेटा लिखें()

function exportFile(data) 
{ 
    var fso, f2; 
    fso = new ActiveXObject("Scripting.FileSystemObject"); 
    f2=fso.CreateTextFile("C:\\example.js",true); 
    f2.Write(data); 
    f2.Close(); 
} 

फिर भी यह हमेशा काम नहीं करता है (f2.Write (डेटा) पर त्रुटि)। मुझे लगता है कि यह है एक या दोनों कारणों से है क्योंकि: - (डेटा)

आप सका f2.Write में वहाँ "डाटा" के लिए अधिकतम आकार है - लिखें समारोह बाइनरी डेटा (0-255 से ASCII) स्वीकार नहीं करता है कृपया मेरी मदद करें?

अद्यतन:

मैं यह त्रुटि (अनुवाद) मिलता है: संदेश: तर्क या कार्य करने के लिए फोन नहीं वैध कौन सा प्रौद्योगिकी का उपयोग करना चाहिए, फिर, जावास्क्रिप्ट सादे ब्लॉक 8 बिट मूल्यों के साथ काम नहीं करता है तो क्या होगा?

+1

क्या मूल्य है 'जब त्रुटि फेंक दिया जाता है है डेटा'? त्रुटि क्या है? –

+0

आपको क्या त्रुटि है? मुझे संदेह है कि यह जावास्क्रिप्ट से काफी कठिन होगा क्योंकि जावास्क्रिप्ट में वास्तव में सादे 8-बिट मानों के ब्लॉक को रखने के लिए कोई उचित डेटा प्रकार नहीं है। जावास्क्रिप्ट तार 16-बिट यूनिकोड वर्ण हैं। – Pointy

उत्तर

3

FileSystemObject विशेष रूप से सीमित है, यहां तक ​​कि UTF-8 फ़ाइलों को संतोषजनक ढंग से मैं एक और समाधान का सहारा लेना पड़ा है लिखने के लिए: ADODB.Stream

http://www.w3schools.com/ADO/ado_ref_stream.asp