我有一台带有网络服务器的 linux 机器,我使用 google BLockly 生成 python 代码。它正确生成它,我使用 alert(code) 来显示代码。如何将其保存到位于同一 Web 服务器中的文件中?
function showCode() {
// Generate Python code and display it.
var code = Blockly.Python.workspaceToCode(workspace);
alert(code);
}
我有一台带有网络服务器的 linux 机器,我使用 google BLockly 生成 python 代码。它正确生成它,我使用 alert(code) 来显示代码。如何将其保存到位于同一 Web 服务器中的文件中?
function showCode() {
// Generate Python code and display it.
var code = Blockly.Python.workspaceToCode(workspace);
alert(code);
}
我没有完全理解上下文,我认为您正在客户端生成代码并且您想要保存它。如果要将其保存在客户端(浏览器中的文件保存选项),请使用以下库
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/
您可以使用您熟悉的任何语言/框架创建服务器程序。