1

我有一台带有网络服务器的 linux 机器,我使用 google BLockly 生成 python 代码。它正确生成它,我使用 alert(code) 来显示代码。如何将其保存到位于同一 Web 服务器中的文件中?

function showCode() {
  // Generate Python code and display it.
  var code = Blockly.Python.workspaceToCode(workspace);
  alert(code);
}
4

1 回答 1

0

我没有完全理解上下文,我认为您正在客户端生成代码并且您想要保存它。如果要将其保存在客户端(浏览器中的文件保存选项),请使用以下库

https://github.com/eligrey/FileSaver.js

如果您想将其保存在服务器端,请将数据从您的 javascript 本身发布到服务器,并将内容写入服务器中的文件。

让我们使用 jquery 发布数据。假设您的代码在变量“代码”中

    $.post("/savecode",
    {
      data: code
    },
    function(data,status){
        alert("Data: " + data + "\nStatus: " + status);
    });

这会将数据发布到 uri 'savecode'

我认为,您创建了一个静态 html 页面,其中包含一些 javascript,并从 apache 或 https 服务器的 /var/ww/html/ 文件夹提供它。这不起作用,您需要从 Web 应用程序提供它。我在这里选择python烧瓶,这很简单。

接收数据并存储在服务器中,假设您的静态页面是 home.html 并且在模板文件夹中

from flask import Flask, render_template, request
from werkzeug import secure_filename
app = Flask(__name__)


# Sending the home page when browsing /home
@app.route('/home')
def home():
   return render_template('home.html')


# Saving the code posted by the javascript app
@app.route('/savecode', methods=['POST'])
def savecode():      
    f = request.files['file']
    f.save(secure_filename(f.filename))
    return 'file saved successfully'

if __name__ == '__main__':
   app.run()

有关更多信息,请查看烧瓶文档: http: //flask.pocoo.org/

您可以使用您熟悉的任何语言/框架创建服务器程序。

于 2017-07-19T20:32:21.607 回答