我无法在 nodejs 中为下载图像 api 提供 http

时间:2021-01-03 10:39:45

标签: javascript html node.js http port-number

我试图在我的 javascript 文件中提供 HTTP 端口号,但由于某种原因,它不起作用, 下面我已经发布了 HTML 和 js 代码,这是代码:

i've also added an image like when I click open in file explorer from virtual studio code it's showing like that but instead of that I want to give proper port

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title> 
<!-- <link href="style.css" rel="stylesheet" type="text/css"> -->
</head>    
<body>
<div>
<img src="https://i.imgur.com/sduLRvf.jpg">
<button>Download</button>
</div>
<script src="js/FileSaver.min.js"></script>
<script src="js/script.js"></script>
</body>
</html>

“下面的javascript代码”

var http = require('http');
 var fs = require('fs');
 var path = require('path');
const { response } = require('express');

 MimeType = {
     "css":"text/css",
     "html":"text/html",
     "ico":"image/ico",
     "jpg":"image/jpg",
     "json":"application/json",
     "png":"image/png"
 };

 http.createServer(function(request, response){   

if (request.url =="" || request.url =="/") {
    request.url ="index.html";
}

fs.readFile(__dirname + "/" + http.request.url, function(error, content) {
    if (error) {
        console.log("Error:" + error);
    }
 else {
    response.writeHead(200, {'Content-Type':MimeType[path.extname(http.request.url).split(".")[1]]});
    response.write(content);
    }

    response.end();
});

});

   
the below-given code in double quote is the main code or downloads the other HTTP code I used it for reference from youtube,

" let btnDownload = document.querySelector('button'); 让 img = document.querySelector('img');

btnDownload.addEventListener('click', () => {
let imgPath = img.getAttribute('src');
let fileName = getFileName(imgPath);

saveAs(imgPath, fileName);
});

function getFileName(str){
return str.substring(str.lastIndexOf('/')+1);
}  "



Server.listen("5000",function(){
console.log("server started");
});

0 个答案:

没有答案
相关问题