在使用elementui框架上傳組件的時候,出現session丟失,后端無法獲取到sessionid,導致返回狀態為未登陸
查看請求頭缺少cookie值
上傳組件代碼:
<el-upload
class="upload-demo"
ref="upload"
:action="action_url"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
:data="uploadParams"
name="file"
:multiple='false'
:limit="1"
:on-exceed="handleExceed"
:on-success="uploadSuc"
:file-list="fileList"
:auto-upload="false">
<el-button size="small" type="primary">選擇文件</el-button>
<div slot="tip" class="el-upload__tip">請上傳后綴為.txt文件,文件每行一條記錄</div>
</el-upload>
解決方法:
設置屬性with-credentials為true支持發送 cookie 憑證信息
修改后el-upload代碼:
<el-upload
class="upload-demo"
ref="upload"
:action="action_url"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
:data="uploadParams"
name="file"
:multiple='false'
:with-credentials='true'
:limit="1"
:on-exceed="handleExceed"
:on-success="uploadSuc"
:file-list="fileList"
:auto-upload="false">
<el-button size="small" type="primary">選擇文件</el-button>
<div slot="tip" class="el-upload__tip">請上傳后綴為.txt文件,文件每行一條記錄</div>
</el-upload>
最后,查看請求頭,可以看到有cookie值,文件上傳成功