如何通过单击按钮从客户端调用nodeJS方法

时间:2017-07-18 09:00:58

标签: javascript jquery node.js

当客户点击按钮时,我想使用节点js在我的服务器上下载图像。我能够从后端运行此功能。但是我不知道如何为前端做到这一点。

这是我的后端nodeJS代码:

var fs = require('fs'),
request = require('request');

var download = function(uri, filename, callback){
request.head(uri, function(err, res, body){
console.log('content-type:', res.headers['content-type']);
console.log('content-length:', res.headers['content-length']);

 request(uri).pipe(fs.createWriteStream(filename)).on('close', 
 callback);
 });
 };

// invoke the function
  download('https://www.google.com/images/srpr/logo3w.png', 'google.png', function(){
  console.log('done');
 });

这是html中的按钮

<button onclick = "download('/...link-to-image.jpg')"></button>

我知道我可以使用表单,但我不想刷新页面。我应该为ajaxSubmit使用jquery表单吗?

2 个答案:

答案 0 :(得分:0)

这是一个简短的代码,希望对您有帮助

<a href="file/path" download>download</a>

答案 1 :(得分:-2)

我认为你应该使用ajax来调用你的api。点击按钮会对你的api进行ajax调用,你的api会做你想做的任何事情。

尝试遵循这个非常简单的

https://www.w3schools.com/xml/ajax_intro.asp