您的位置:首页技术文章
文章详情页

html5 - node.js下载失败,求大神解释

【字号: 日期:2023-10-08 13:51:42浏览:35作者:猪猪

问题描述

使用express框架下载文件,但是失败了,直接看代码

<!DOCTYPE html><html><head> <title>express 主页</title> <meta charset='utf-8'> <script type='text/javascript' src='https://www.haobala.com/wenda/jquery.min.js'></script></head><body><p>I love you!</p><button>click there to download a pictutre</button><script type='text/javascript'>$(function(){ $(’button’).click(function(){ $.ajax({url:’/download’,type:’get’,success:function(result){ alert('Resquest has been received!');} }) })})</script></body></html>以下是node.js代码 var express = require('express');var app = express();app.use(express.static(’public’));app.locals.title = 'My app';app.get('/',function(req,res){console.log('resquest has been received!');res.sendFile('public/index.html');res.end();})app.get('/download',function(req,res){res.download(’public/example.jpg’,’example.jpg’,function(err){if(err) console.log(err);else console.log('download successfully'); });})app.listen(3000);console.log('OK');

html5 - node.js下载失败,求大神解释

求解疑

问题解答

回答1:

你的下载按钮我建议直接写成

<a href='https://www.haobala.com/download' download>下载</a>

http://www.expressjs.com.cn/4...注意res.download方法的第一个参数

res.download(’/report-12345.pdf’, ’report.pdf’, function(err){ if (err) { // Handle error, but keep in mind the response may be partially-sent // so check res.headersSent } else { // decrement a download credit, etc. }});

然后你的图片虽然尺寸很大,但是太模糊了。。。

回答2:

index.html

<!DOCTYPE html><html><head> <title>express 主页</title> <meta charset='utf-8'> <script type='text/javascript' src='https://www.haobala.com/wenda/jquery.min.js'></script></head><body><p>I love you!</p> <a href='https://www.haobala.com/download' download>下载</a></body></html>

node.js

var express = require('express');var app = express();app.use(express.static(’public’));app.locals.title = 'My app';app.get('/',function(req,res){console.log('resquest has been received!');res.sendFile('public/index.html');res.end();})app.get('/download',function(req,res){ res.download(’public/example.jpg’, ’example.jpg’,function(err){if(err) console.log(err);else console.log('download successfully'); });})app.listen(3000, function(err) { if(err) console.error(err); console.log('OK');});

你可以浏览器单独访问http://localhost:3000/download看看能不能下载下来,你现在直接404后台服务都没ready,先别前后端的联调吧。

标签: Html5
相关文章: