qixin1991 / koa-router-xls

koa router middleware. excel 2 json. download json data to excel file.
4 stars 3 forks source link

koa2 使用提供的demo 上传解析Excel失败 #1

Closed qingmu-io closed 7 years ago

qingmu-io commented 7 years ago
                var path = files.uploadFile.path;
                                           ^

TypeError: Cannot read property 'path' of undefined at module.exports.ctx.formParse.form.parse

qixin1991 commented 7 years ago

Demo 有一处bug,已修复

"use strict";
const Koa = require('koa'),
      app = new Koa(),
      xls = require('koa-router-xls'),
      // 加上这个模块引用
      formParser = require('koa-router-form-parser'),
      userRouter = require('./routes/user.js');
// 启用这个模块,这样才能正确解析上传文件的数据
app.use(formParser());
app.use(xls());

app.use(userRouter.routes());

var port = 3000;
app.listen(port, function () {
  console.log(` ---> Server running on port: ${port}`);
});

请查看最新的 README.md

qingmu-io commented 7 years ago

问题不在这儿 问题出在解析 filepath

qixin1991 commented 7 years ago

上传文件的表单里中文件的field名称要设置成 uploadFile.

<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <title>uploadFile</title>
</head>

<body>
  <form class="" action="http://localhost:3000/uploadxls" enctype="multipart/form-data" method="post">
    <!-- 注意 name 的值 -->
    <input type="file" name="uploadFile" value=""><br>
    <button type="sumbit" name="button">上传</button>
  </form>
</body>

</html>
qingmu-io commented 7 years ago

不是因为以上问题 是因为文件系统权限问题

qingmu-io commented 7 years ago

解决了 蛮好用的

qixin1991 commented 7 years ago

😂 嗯,await ctx.formParse() 支持传入路径的,不传的话,默认会使用 /tmp 目录用来接收存储上传的路径。

谢谢。

qingmu-io commented 7 years ago

封装的蛮好使的 叼的一比