欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Antd Upload上传图片nginx报错405

程序员文章站 2022-06-03 12:02:29
...

antd Upload
antd Upload listType 3个类型 一个项目把坑踩全了…

之前使用Upload 是用 action 属性,指定上传地址。现在是在form表单里面使用Upload,不配置action属性,直接formData提交。

问题:

本地调试没问题,打包测试,nginx转发报错405 not allowed
查到原因是 nginx禁止用post访问静态资源

解决:

问:哎 上传图片怎么会访问静态资源呢???
答:默认的上传行为…

Antd Upload上传图片nginx报错405

Antd Upload上传图片nginx报错405

Upload提供 【 customRequest 】 通过覆盖默认的上传行为,可以自定义自己的上传实现
customRequest ={() => {}}
这样就不会再报错了
但是 拿到的图片状态一直是loading ( status: ‘loading’) ??
用了个损招,直接修改了文件状态 强行转为done (有点low…吧)

<Form.Item
    label="身份证正面"
    name="idcardFrontPic"
    valuePropName="fileList"
    rules={[{ required: true }, { validator: picValidator }]}
    extra="图片大小不要超过2M,支持PNG,JPG格式"
    getValueFromEvent={({ file, fileList }) => {
      if (fileList.length > 0) {
        // eslint-disable-next-line no-param-reassign
        file.status = 'done';
        return [file];
      }
      return undefined;
    }}
  >
    <Upload
      name="fontpic"
      listType="picture"
      onPreview={onPreview}
      customRequest={() => {}}
    >
      <Button>
        <UploadOutlined /> 上传文件
      </Button>
    </Upload>
</Form.Item>