请教vue-upload-component用法

发布于 2022-09-11 14:38:04 字数 1857 浏览 20 评论 0

项目中用了vue-upload-component来上传文件,按demo设置了pos-action等等,但为什么request-method是options,请教怎么设置成post

          <file-upload
            :headers="{'Content-Type':'multipart/form-data'}"
            post-action="http://192.168.121.24:1400/cmsWeb/api/crm/talk/upLoadFile"
            put-action="http://192.168.121.24:1400/cmsWeb/api/crm/talk/upLoadFile"
            class="btn btn-primary"
            extensions="gif,jpg,jpeg,png,webp"
            accept="image/png,image/gif,image/jpeg,image/webp"
            :multiple="false"
            :size="1024 * 1024 * 10"
            v-model="files"
            @input-filter="inputFilter"
            @input-file="inputFile"
            ref="upload">
            <i class="fa fa-plus"></i>
            Select files
          </file-upload>
inputFilter(newFile, oldFile, prevent) {
      if (newFile && !oldFile) {
        // Before adding a file
        // 添加文件前
        // Filter system files or hide files
        // 过滤系统文件 和隐藏文件
        if (/(\/|^)(Thumbs\.db|desktop\.ini|\..+)$/.test(newFile.name)) {
          return prevent()
        }
        // Filter php html js file
        // 过滤 php html js 文件
        if (/\.(php5?|html?|jsx?)$/i.test(newFile.name)) {
          return prevent()
        }
      }
    },
    inputFile(newFile, oldFile) {
      this.$refs.upload.active = true
      if (newFile && !oldFile) {
        // add
        console.log('add', newFile)
      }
      if (newFile && oldFile) {
        // update
        console.log('update', newFile)
      }
      if (!newFile && oldFile) {
        // remove
        console.log('remove', oldFile)
      }
    }

图片描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

醉南桥 2022-09-18 14:38:04
  • 先理解下OPTIONS请求做什么用的。参考OPTIONS请求
  • 你的接口报的是500错误,是服务器出错了,排除服务端错误。如果是本地搭建的服务器,应该可以从控制台看到错误
旧竹 2022-09-18 14:38:04

Options是非简单请求向服务器api先做的一个预检接口,通过后才会发送真正的请求。关于简单请求和非简单请求,可以看看这篇文章
举个例子: GET请求算是简单请求,不会先发OPTIONS; post请求为非简单请求,会先发OPTIONS,需要后端在接口放行OPTIONS方法,或者统一对OPTIONS放法返回200。
你的问题并不是post变成了options,而是post前的options没有正确返回,需要后端处理一下。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文