2016-07-03 4 views
-5

Сформировать и сохранить файл на сервере с помощью Javascript

Может ли тело мне помочь? Я хочу создать функцию JavaScript. В котором ...Генерация файла с помощью Javascript

  • Когда пользователь вводит данные (В нескольких полей) хранятся данные.
  • Когда пользователь нажимает на кнопку отправки система создает новый файл или, если файл уже существует то изменить его содержание [.txt, .html, .js).
  • И он автоматически сохраняет его на сервере.

Я недостаточно подготовлен.

Возможно ли это? Если да, то пожалуйста, помогите мне.

+0

Проверьте мой простой стартовый учебник anser !! – Iceman

ответ

-1

манипулировании данными осуществляется с помощью сервера, Вам необходимо установить НПМ в вашем компьютере.

0

Запись файла на сервере выполняется с использованием языка сценариев сервера, например php или asp.net. Конечно, если вы хотите сделать это в JavaScript вы можете записать его в серверном скрипте: Node.js

Простой пример на моей странице GitHub: https://github.com/alokrajiv/nodejs_save_kickstarter

Вкратце:

HTML (за исключением в index.html):

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width"> 
    <title>SAVER</title> 
</head> 
<body> 
    LAST SAVE: <span id="res">NOT KNOWN</span> 
    <form id="myform"> 
     Data:<input name="data"> 
     <button type="submit">SAVE</button> 
    </form> 
</body> 
<script src="https://code.jquery.com/jquery-2.2.4.js"></script> 
<script> 
    $("#myform").submit(function(e) { 
     e.preventDefault(); 
     var data = $(this).serialize(); 
     var url = "/data"; 
     $.post(url, data, function(resp) { 
       $("#res").html("SAVED at " + (new Date())); 
       console.log(resp); 
       }); 
     }); 
</script> 
</html> 

Node.js сервер (сохранить как app.js)

var express = require('express'), 
    bodyParser = require('body-parser'), 
    logger = require('morgan'), 
    fs = require('fs'); 
var app = express(); 
app.use(logger('dev')); 
app.use(bodyParser.urlencoded({ 
    extended: true 
})); 
app.get('/', function (req, res) { 
    res.sendFile(__dirname + '/index.html'); 
}); 
app.post('/data/', function (req, res) { 
    var filename = "test.txt"; 
    var dataToSave = JSON.stringify(req.body); 
    console.log(dataToSave); 
    fs.unlink(filename, function (err) { 
     if (err && err.code !== 'ENOENT') 
      throw err; 
     fs.writeFile(filename, dataToSave, { flag: 'w' }, function (err) { 
      if (err) throw err; 
      res.json({ data: "saved" }); 
     }); 
    }); 
}); 
app.listen(process.env.PORT || 9001); 

Чтобы запустить прямо сейчас: на консольного типа:

npm i express body-parser morgan 
node app.js 

Перейти в ваш браузер перейти к http://localhost:9001

Смежные вопросы