2016-05-18 2 views
0

Я разрабатываю настраиваемое приложение в «ServiceNow», которое требует кодирования Javascript и HTML. Итак, у меня есть поле, скажем, «описание» в моей форме. Как сохранить значение этого поля в текстовом документе на рабочем столе?сохранить значение поля в файл на рабочем столе

ответ

1

Хотя JavaScript не может создать файл для загрузки самостоятельно, у ServiceNow есть способ создать его. Создание документа Word невозможно без использования MID-сервера и некоторого пользовательского кода Java, но если какой-либо тип файла будет создан, вы можете создать файл Excel с использованием URL-адреса экспорта. Чтобы проверить это, я сделал действие пользовательского интерфейса в экземпляре разработчика, который запустил Хельсинки в таблице проблем. Я сделал вид списка, который содержит только поле, которое я хотел сохранить, а затем использовать следующий код в действии UI:

function startDownload() { 
    window.open("https://dev13274.service-now.com/problem_list.do?EXCEL&sysparm_query=sys_id%3D" + 
     g_form.getUniqueValue() + "&sysparm_first_row=1&sysparm_view=download"); 
} 

Когда используется действие UI, он открывает новую вкладку, которая будет закрывать почти немедленно и предложите пользователю сохранить или открыть файл Excel, содержащий содержимое этого единственного поля.

Если вы хотите узнать больше о различных способах экспорта данных из ServiceNow, проверьте их wiki-страницу на subject.

+0

Большое вам спасибо за помощь. У меня есть еще один вопрос. Вы знаете, как настроить servicenow для интеграции с Microsoft Outlook. Мне нужно сделать это, потому что наши пользователи хотят иметь возможность самостоятельно создавать приглашение на собрание, чтобы они могли смотреть на доступность всех участников и доступность номеров. У меня есть разрешение на доступ к серверу обмена, но он наступил на настройку снега. @caputLupinum –

0

Javascript защищает клиентов от вредоносных серверов, которые хотят читать файлы на своем компьютере. По этой причине вы не можете читать или записывать файл на компьютер клиента с помощью javascript. Если вы не используете какой-либо элемент управления загрузкой файлов, который неявно запрашивает разрешение пользователя.

1

Вы можете использовать HTML5 FileSystem API для достижения этой цели

window.requestFileSystem(window.PERSISTENT, 1024*1024, function (fs) { 
    fs.root.getFile('file.txt', {create: true}, function(fileEntry) { 
    fileEntry.createWriter(function(fileWriter) { 
     var blob = new Blob([description.value], {type: 'text/plain'}); 
     fileWriter.write(blob); 
    }); 
    }); 
}); 

FYI, хром поддерживает webkitRequestFileSystem.

В качестве альтернативы, используйте Blob и сгенерировать ссылку для загрузки

var text = document.getElementById("description").value; 
var blob = new Blob([text], {type:'text/plain'}); 
var fileName = "test.txt"; 

var downloadLink = document.createElement("a"); 
downloadLink.download = fileName; 
downloadLink.href = window.webkitURL.createObjectURL(textFile); 
downloadLink.click();