使用JavaScript在服务器上保存json文件

使用JavaScript在服务器上保存json文件,javascript,json,d3.js,Javascript,Json,D3.js,我正在构建一个应用程序,用户可以上传一个JSON文件,并通过单击(构建网络按钮)将其可视化。我意识到我需要在可视化文件之前将其保存在服务器上。我试图通过使用FileSaver.js中的saveAs()来实现这一点 它可以工作,但文件名为“下载”,没有文件扩展名,下载到下载文件夹。我怎样才能解决这个问题?这是解决这样一项任务的正确方法吗 UPD:如果可以立即从文件构建可视化,我希望避免将用户文件保存在服务器上 document.getElementById('import')。onclick=f

我正在构建一个应用程序,用户可以上传一个JSON文件,并通过单击(
构建网络
按钮)将其可视化。我意识到我需要在可视化文件之前将其保存在服务器上。我试图通过使用FileSaver.js中的
saveAs()
来实现这一点

它可以工作,但文件名为“下载”,没有文件扩展名,下载到下载文件夹。我怎样才能解决这个问题?这是解决这样一项任务的正确方法吗

UPD:如果可以立即从文件构建可视化,我希望避免将用户文件保存在服务器上

document.getElementById('import')。onclick=function(){
var files=document.getElementById('selectFiles').files;
console.log(文件);
if(files.length)
我正在构建一个应用程序,用户可以在其中上传一个JSON文件,并只需单击一下即可将其可视化

你不知道。D3完全可以使用

我意识到我需要在可视化文件之前将其保存在服务器上

如果确实要这样做,则需要使用
fetch
XMLHttpRequest
将字符串化的JSON发送到服务器,并编写服务器端代码(使用您喜欢的任何语言)来保存它

const files = document.getElementById('selectFiles').files;
const data = new FormData();
data.append("json", files[0]);
fetch("http://your-server.example.com/upload-file/", { 
    method: "POST",
    body: data
});
.then( () => { /* process response and do whatever else you want */ } );

您不能仅使用客户端JavaScript在服务器上存储文件。您的问题不清楚。您是否使用任何服务器端技术?您真的想在服务器上存储一些东西吗?除了@NineBerry的注释之外。即使您将其保存在服务器上,您也需要指定如何部署。任何合适的平台,如
AWS
Azure
将在重新启动时清除服务器上的所有文件,因此您确实应该将文件保存到远程文件系统,例如
S3
Azure Blob
@NineBerry我试图仅使用JavaScript进行此操作。现在我知道我应该使用Node.js或类似的东西。我希望避免将文件保存在如果有可能立即构建可视化,服务器将停止运行。@sinanspd很高兴知道。我还没有考虑部署,我只是开始使用js。