cool-team-official / cool-admin-midway

🔥 cool-admin(midway版)一个很酷的后台权限管理框架,Ai编码、流程编排、模块化、插件化、CRUD极速开发,永久开源免费,基于midway.js 3.x、typescript、typeorm、mysql、jwt、vue3、vite、element-ui等构建
https://cool-js.com
MIT License
2.65k stars 588 forks source link

上传文件提示400错误 #94

Closed GitHub27 closed 1 year ago

GitHub27 commented 2 years ago

clone官方仓库地址,运行项目,菜单 工作台-组件库-文件上传,报400错误。 接口:http://localhost:9000/dev/app/base/comm/upload 类型:local 本地上传 接口返回:{"code":400,"message":"Invalid update file name test.jpeg, please check it"}

lucasmen9527 commented 2 years ago

我一开始也遇到了这种问题了,就报错 nvalid update file name 一开始以为文件格式的问题,换了jpg、jpeg等还不行,后来看了下midwayjs官方文档,发现再config/config.default.ts 有个文件上传的配置 如下图 image 文档上指出whitelist 是配置白名单的,仓库源码这里显示的是 whitelist: () => true,修改为 whitelist: uploadWhiteList.filter(ext => ext !== '.pdf') 再测试就成功了 image

贴一下我自己的配置


import { uploadWhiteList } from '@midwayjs/upload';
import { MODETYPE } from '@cool-midway/file';
import { MidwayConfig } from '@midwayjs/core';
import * as redisStore from 'cache-manager-ioredis';
import * as fsStore from 'cache-manager-fs-hash';

export default {
  // 修改成你自己独有的key
  keys: 'cool-admin for node',
  koa: {
    port: 8001,
  },
  // 文件上传
  upload: {
    fileSize: '200mb',
    // whitelist: () => true,
    // whitelist: string[],文件扩展名白名单
    whitelist: uploadWhiteList.filter(ext => ext !== '.pdf'),
  },
  // 模板渲染
  view: {
    mapping: {
      '.html': 'ejs',
    },
  },
  // 本地缓存
  // cache: {
  //   store: fsStore,
  //   options: {
  //     path: 'cache',
  //     ttl: -1,
  //   },
  // },
  // redis缓存
  cache: {
    store: redisStore,
    options: {
      host: '127.0.0.1',
      port: 6379,
      password: '',
      db: 0,
      ttl: null,
    },
  },
  // cool配置
  cool: {
    redis: {
      host: '127.0.0.1',
      port: 6379,
      password: '',
      db: 0,
    },
    // 是否自动导入数据库
    initDB: true,
    file: {
      // 上传模式 本地上传或云存储
      // mode: MODETYPE.LOCAL,
      mode: MODETYPE.CLOUD,
      oss: {
        accessKeyId: '',
        accessKeySecret: '',
        bucket: 'midway-test-cloud',
        endpoint: 'oss-cn-beijing.aliyuncs.com',
        timeout: '3600s',
      } as OSSConfig,
      // 本地上传 文件地址前缀,当且仅当mode为LOCAL时生效
      domain: 'http://127.0.0.1:8001',
    },
    // es: {
    //   // 集群模式下可以配置多个地址
    //   nodes: ['http://localhost:9200'],
    // },

    //支付
    pay: {
      wx: {
        appid: '',
        mchid: '',
        partnerKey: '',
        // pfx: require('fs').readFileSync('证书文件路径'),
        notify_url: 'http://127.0.0.1:8001/app/demo/pay/wxNotify',
        // spbill_create_ip: 'IP地址',
      },
    },
  } as CoolConfig,
} as
  | MidwayConfig
  | {
      cache: any;
    };
cdr7508 commented 2 years ago

自己加一下就行了

image