【改进】固件上传
This commit is contained in:
@@ -219,6 +219,7 @@
|
||||
id="firmwareFile"
|
||||
name="file"
|
||||
accept=".bin"
|
||||
ref="firmwareFileRef"
|
||||
>
|
||||
<div class="form-text text-muted mt-1">支持 .bin 格式,单个文件不超过 100MB</div>
|
||||
</div>
|
||||
@@ -499,20 +500,59 @@
|
||||
},
|
||||
// 打开文件上传模态框
|
||||
openUploadModal(item) {
|
||||
this.addOrEditDto = item;
|
||||
this.modalInstances['uploadFileModal'].show();
|
||||
},
|
||||
uploadFile() {
|
||||
request.put("/biz/user/resetPasswordRequest", this.resetPasswordDto)
|
||||
.then((res) => {
|
||||
if (res.code === 200) {
|
||||
$message.success('修改成功!', 500);
|
||||
this.modalInstances['resetPwdModal'].hide();
|
||||
} else {
|
||||
alert('修改失败!');
|
||||
async uploadFile() {
|
||||
// 1. 获取选中的文件
|
||||
const fileInput = this.$refs.firmwareFileRef;
|
||||
const file = fileInput.files[0];
|
||||
|
||||
// 2. 校验文件(格式、大小)
|
||||
if (!file) {
|
||||
alert("请选择 .bin 格式的固件文件");
|
||||
return;
|
||||
}
|
||||
if (file.type !== "application/octet-stream" && !file.name.endsWith(".bin")) {
|
||||
alert("仅支持 .bin 格式文件");
|
||||
return;
|
||||
}
|
||||
if (file.size > 100 * 1024 * 1024) { // 100MB
|
||||
alert("文件大小不能超过 100MB");
|
||||
return;
|
||||
}
|
||||
|
||||
const formData = new FormData();
|
||||
formData.append("file", file);
|
||||
formData.append("id", this.addOrEditDto.id);
|
||||
|
||||
// 4. 发送上传请求(Axios)
|
||||
try {
|
||||
const response = await axios({
|
||||
url: "/biz/firmware/uploadFile",
|
||||
method: "POST",
|
||||
data: formData,
|
||||
headers: {
|
||||
"Content-Type": "multipart/form-data"
|
||||
},
|
||||
onUploadProgress: (progressEvent) => {
|
||||
const progress = (progressEvent.loaded / progressEvent.total) * 100;
|
||||
console.log(`上传进度:${progress.toFixed(2)}%`);
|
||||
}
|
||||
this.resetPasswordDto = {};
|
||||
});
|
||||
|
||||
if (response.data.success) {
|
||||
$message.success('固件上传成功');
|
||||
this.$refs.firmwareFileRef.value = "";
|
||||
this.modalInstances['uploadFileModal'].hide();
|
||||
} else {
|
||||
$message.error("上传失败:" + response.data.message);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("上传出错:", error);
|
||||
$message.error("网络异常,上传失败");
|
||||
}
|
||||
|
||||
},
|
||||
// 打开新增模态框
|
||||
openAddModal() {
|
||||
|
||||
Reference in New Issue
Block a user