10/10/2018, 10:11

Ghi file sử dụng javascript

Mình muốn sử dụng javascript để ghi file, bạn nào biết thì giùm mình với.
Thanks,

[=========> Bổ sung bài viết <=========]

Sao ko thấy mod, bro nào vào help mình hết vậy
thuyduongcd viết 12:24 ngày 10/10/2018
Only test on IE

Code:
<HTML>
<HEAD>

<SCRIPT language="JavaScript">

function WriteFile()
{
   var fso  = new ActiveXObject("Scripting.FileSystemObject");
   var fh = fso.CreateTextFile("c:\\Test.txt", true);
   fh.WriteLine("Some text goes here...");
   fh.Close();
}

</SCRIPT>
</HEAD>

<BODY>
<P>
<SCRIPT language="JavaScript">  WriteFile(); </SCRIPT>
</P>
</BODY>
</HTML>
Katsumoto viết 12:11 ngày 10/10/2018
Only test on FF, file:///
Code:
<html>
<head>
<script language="javascript">
var strPath = "D:\\";
//======================================================
function getDesktopPath(){
	netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
	var file = Components.classes["@mozilla.org/file/directory_service;1"]
		.getService(Components.interfaces.nsIProperties)
		.get("Desk", Components.interfaces.nsIFile);
	//	.get("resource:app", Components.interfaces.nsIFile);
	//	.get("CurProcD", Components.interfaces.nsIFile);
	return file.path;
}
//======================================================
function writeToFile(pstrFile,pstrData){
	netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
	var file = Components.classes["@mozilla.org/file/local;1"].
		createInstance(Components.interfaces.nsILocalFile);
	file.initWithPath(pstrFile);
	
	var charset = "UTF-8"; // Can be any character encoding name that Mozilla supports
	var foStream = Components.classes["@mozilla.org/network/file-output-stream;1"].
		createInstance(Components.interfaces.nsIFileOutputStream);
	foStream.init(file, 0x02 | 0x08 | 0x20, 0666, 0);
	var os = Components.classes["@mozilla.org/intl/converter-output-stream;1"]
		.createInstance(Components.interfaces.nsIConverterOutputStream);
	os.init(foStream, charset, 0, 0x0000);
	os.writeString(pstrData);
	os.close();
	foStream.close();
}
//======================================================
function windowOnload(){
	//alert(getDesktopPath());
}
//======================================================
function writeData(){
        if(document.getElementById("txtName").value == ""){
                alert("Key in something for testing");
                return;
        }
	writeToFile(strPath + "abc.txt",document.getElementById("txtName").value);
	alert("OK. Result in : " + strPath + "abc.txt");
}
</script>
</head>
<body onload="windowOnload()">
<input type="text" value="" id="txtName" size="40"/><br>
<input type="button" value="Export" onclick="writeData()"/>
</body>
</html>
Còn 1 khả năng nữa là dùng javascript trong AIR.
conan218 viết 12:14 ngày 10/10/2018
Thanks các bạn đã chỉ giùm, nhưng mình copy y chang mà nó ko chịu chạy
thuyduongcd viết 12:21 ngày 10/10/2018
Đã test chạy ngon lành.
Vì sử dụng activeX nên khi vừa mở ra sẽ có thông báo (thanh màu vàng phía trên). Click vào đó chọn Allow để cho phép activeX chạy, xong refresh lại.

Vào thư mục C:\ để xem file test.txt
Bài liên quan
0