Hướng dẫn javascript create xml file for download - javascript tạo tệp xml để tải xuống

Tôi có một yêu cầu như sau:

Có một liên kết trên một trang web. Khi người dùng nhấp vào liên kết, nó sẽ tạo một tệp khi đang bay và một hộp tải xuống bật lên. Làm thế nào để làm điều đó bằng cách sử dụng tập lệnh java?

Donwload

Nó hoạt động ít nhất trong Chrome 27 và Firefox 21.

Cải thiện được chào đón :-]

Đã trả lời ngày 25 tháng 5 năm 2013 lúc 16:42May 25, 2013 at 16:42

MikelmikelMikel

5.5225 Huy hiệu vàng32 Huy hiệu bạc47 Huy hiệu đồng5 gold badges32 silver badges47 bronze badges

1

Nếu người dùng tin tưởng bạn, bạn có thể tạo tệp XML trực tiếp trong hệ thống tệp của mình. Mã ví dụ cho Mozilla Firefox:

function mozillaSaveFile[filePath,content]
{
    if[window.Components] {
        try {
            netscape.security.PrivilegeManager.enablePrivilege["UniversalXPConnect"];
            var file = Components.classes["@mozilla.org/file/local;1"].createInstance[Components.interfaces.nsILocalFile];
            file.initWithPath[filePath];
            if[!file.exists[]]
                file.create[0,0664];
            var out = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance[Components.interfaces.nsIFileOutputStream];
            out.init[file,0x20|0x02,00004,null];
            out.write[content,content.length];
            out.flush[];
            out.close[];
            return true;
        } catch[ex] {
            return false;
        }
    }
    return null;
}

Nếu bạn cần hỗ trợ cho tất cả các trình duyệt, hãy xem cách thực hiện trong //www.tiddlywiki.com

Chỉnh sửa: Điều này không hoạt động cho Firefox 17+ vì thay đổi đặc quyền được coi là không an toàn và bị xóa. Xem ở đây để biết thêm chi tiết: //bugzilla.mozilla.org/show_bug.cgi?id=546848#C57 This doesn't work for Firefox 17+ because changing privileges was deemed unsafe and removed. see here for more details: //bugzilla.mozilla.org/show_bug.cgi?id=546848#c57

Đã trả lời ngày 28 tháng 2 năm 2011 lúc 15:07Feb 28, 2011 at 15:07

rmflowrmflowrmflow

4.2854 Huy hiệu vàng24 Huy hiệu bạc41 Huy hiệu đồng4 gold badges24 silver badges41 bronze badges

decodeRequest[textToDecode] {

    var decodedString = atob[textToDecode];

    var fileName = "fileName1"+'_RQ';
    var fileType = '.xml';

    var blob = new Blob[[decodedString], { type: fileType }];

    var a = document.createElement['a'];
    a.download = fileName;
    a.href = URL.createObjectURL[blob];
    a.dataset.downloadurl = [fileType, a.download, a.href].join[':'];
    a.style.display = "none";
    document.body.appendChild[a];
    a.click[];
    document.body.removeChild[a];
    setTimeout[function[] { URL.revokeObjectURL[a.href]; }, 1500]; 

}

Dharman ♦

28.3K21 Huy hiệu vàng75 Huy hiệu bạc127 Huy hiệu đồng21 gold badges75 silver badges127 bronze badges

Đã trả lời ngày 12 tháng 3 năm 2020 lúc 14:40Mar 12, 2020 at 14:40

1

Bài Viết Liên Quan

Chủ Đề