el-upload部署线上405 + elupload部署上线的问题

正常访问Http接口时正常,但通过nginx访问却出现405 not allowed的提示。----nginx禁止用post访问静态资源


location / {
        root /wwww/xxxx/xxx;    # 静态页面根目录
        index index.html;		#默认首页  
        try_files $uri $uri /index.html;	#刷新404配置
        error_page 405 =200  $request_uri;	#405出错配置
        #如果是域名请求,出现405如下配置
        #error_page 405 =200  http://$host$request_uri;
        }

对于本地可以正常使用elupload,上线后报错之类的问题,基本原因就是需要action地址的问题,
两种办法-------不同的上传方式

1.action上传

本地用相对路劲,因为代理,可以正常访问,线上如果地址不处理就会使用部署地址----所以这儿我们使用绝对路劲

<template>
<el-upload class="avatar-uploader" :action="action" />
<template/>
<script setup lang="ts">
//计算属性
const action = computed(() => {
  return import.meta.env.DEV ? '/api/fileUpload' : 'http://服务器域名/fileUpload'
})
<script/>

ps:最后发现其实就只需要将action的地址换成绝对路劲即可处理

<el-upload class="avatar-uploader" action="http://接口服务器域名/fileUpload" />

2.使用使用自定义上传

<el-upload class="avatar-uploader" action="" :show-file-list="false" :http-request="handleUpload">
      <img v-if="imageUrl" :src="imageUrl" class="avatar" />   
----------
 const handleUpload = (data: any) => {
  const formData = new FormData()
  formData.append('file', data.file)
  // request.post('/admin/product/fileUpload', formData).then((res: any) => {
  //"此处request--将axios进行了二次封装,所以请求地址,返回判断写法略有不同"
  axios
    .post('http://sph-api.atguigu.cn/admin/product/fileUpload', formData, {
      headers: {
        token: localStorage.getItem('TOKEN')
      }
    })
    .then((res: any) => {
     if (res.data.code == 200) {
        imageUrl.value = res.data.data
      }
    })
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值