ITPub博客

首页 > IT职业 > IT生活 > ajax上传文件nodejs获取图片时不能显示怎么办?

ajax上传文件nodejs获取图片时不能显示怎么办?

IT生活 作者:lxhit 时间:2021-09-09 09:40:30 0 删除 编辑
<!----html页面-->
html>

上传文件    
文件:
                
文件详情
文件名 类型 大小(/kb) 上传 下载
ajax页面 function ajax(obj) {     let {url,data}=obj;     if (XMLHttpRequest)         xhr = new XMLHttpRequest();     else if (ActiveXObject){         xhr = new ActiveXObject('Micorsoft.HTTP');      }                        xhr.open('post', url, true);          xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');         //xhr.send(data);                          let reader = new FileReader(), type = data.type;     console.log(type)     if (data.type.indexOf('text') > -1)//文本文件         reader.readAsText(data);     else if (data.type.indexOf('image') > -1)//图片文件         reader.readAsDataURL(data);     reader. = function () {                 xhr.send(`name=${data.name}&type=${data.type}&file=${reader.result}`);     }          xhr.onreadystatechange = function () {         if (xhr.readyState == 4) {             if (xhr.status == 200 || xhr.status == 304) {                 alert(xhr.responseText)             }         }     } } <!--后端服务器nodejs--> const express = require('express'),     bodyparser = require('body-parser'),     fs = require('fs'),     app = express(); app.use(bodyparser.json({ limit: '50mb' })); app.use(bodyparser.urlencoded({ limit: '50mb', extended: true })); //判断目录是否存在 let url = __dirname + '/temp_up/'; fs.exists(url,(exists)=>{     if(!exists)fs.mkdir(url); }) app.post('/upload', (req, res) => {     res.setHeader("Access-Control-Allow-Origin", "*");            let {name,type,file}=req.body;                if (type.includes('text')){         fs.writeFile(url+name,file,'utf-8',(err)=>{             if(err)console.log('写入失败!')                     })     }else if(type.includes('image')){         file = file.substring(23);                            fs.writeFile(url+name, file, 'base64', (err) => {                     //没有报错,图片不正显示,why???                     if (err) console.log(err)         })     }     res.send('success!')     })               app.listen(7000, () => {     console.log('server running on 7000....'); }) //重点在服务端代码中,图片文件读取后写入文件显示不出来,怎么办????


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4418/viewspace-2805902/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: js数组常用循环
请登录后发表评论 登录
全部评论

注册时间:2019-08-12

  • 博文量
    81
  • 访问量
    621