Skip to content

Commit

Permalink
2.0.0版本发布
Browse files Browse the repository at this point in the history
新版本支持了不会内存溢出的文件上传操作!
  • Loading branch information
BeardedManZhao committed Aug 31, 2024
1 parent a35c84b commit f50671d
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 63 deletions.
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,11 @@ const indexConfig = {

## 更新记录

### 2.0.0 版本 发布

- 适用服务器版本:2024-08-31 以后的版本
- 2.0.0 版本的前端上传文件将不会出现内存溢出的情况,2.0.0版本是为了适配 2024-08-31 以及以后发布的后端服务器的!

### 1.0.7 版本 发布

- 为 logo 图标增加了点击展示获取版本号的动作
Expand Down
2 changes: 1 addition & 1 deletion web/FileExplorer.html
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
style="text-align: center"
title="diskMirror-front 版本:点击查看前端界面历史包">
<div onclick="window.open('https://github.com/BeardedManZhao/diskMirror-front/releases')"><span
class="load-icon-2"></span> <span>1.0.7</span></div>
class="load-icon-2"></span> <span>2.0.0</span></div>
</div>
<div class="button_list1">
<button class="item_Button" onclick="window.open('index.html')">新界面</button>
Expand Down
96 changes: 34 additions & 62 deletions web/js/diskMirror.js
Original file line number Diff line number Diff line change
Expand Up @@ -72,25 +72,24 @@ class DiskMirror {
* userId: int,
* type: 'Binary'|'TEXT'
* }} 这里是请求参数对象 其中的文件名字代表上传到后端之后的文件名字,userId 代表的就是文件要上传到的指定空间的id;type就是代表的文件的类型 支持二进制和文本两种格式
* @param file {File|string} 需要被上传的文件对象
* @param file {File} 需要被上传的文件对象
* @param okFun {function} 操作成功之后的回调函数 输入是被上传文件的json对象
* @param errorFun {function} 操作失败之后的回调函数 输入是错误信息
* @param checkFun {function} 上传前的检查函数 输入是上传的文件对象的 json 数据 以及 文件对象本身,如果返回的是一个false 则代表不进行上传操作
*/
upload(params, file, okFun = undefined, errorFun = (e) => 'res' in e ? alert(e['res']) : alert(e), checkFun = undefined) {
if (file instanceof String) {
this.upload(params, new File([new Blob([file])], params['fileName']), okFun, errorFun, checkFun);
return;
}
if (checkFun !== undefined && !checkFun(params, file)) {
return;
}
const formData = new FormData();
// 设置请求参数数据包
params["secure.key"] = this.getSk();
formData.append('params', JSON.stringify(params));
const blob = new Blob([JSON.stringify(params)], {
type: 'application/json'
});
formData.append('params', blob, "params");
// 设置文件数据包
formData.append('file', file);
formData.append('file', file, "file");
// 开始进行请求发送
axios.defaults.withCredentials = true;
axios(
Expand Down Expand Up @@ -154,7 +153,10 @@ class DiskMirror {
if (checkFun !== undefined && !checkFun(params)) {
return;
}
formData.append('params', JSON.stringify(params));
const blob = new Blob([JSON.stringify(params)], {
type: 'application/json'
});
formData.append('params', blob, "params");
// 开始进行请求发送
axios.defaults.withCredentials = true;
axios(
Expand Down Expand Up @@ -217,7 +219,10 @@ class DiskMirror {
if (checkFun !== undefined && !checkFun(params)) {
return;
}
formData.append('params', JSON.stringify(params));
const blob = new Blob([JSON.stringify(params)], {
type: 'application/json'
});
formData.append('params', blob, "params");
// 开始进行请求发送
axios.defaults.withCredentials = true;
axios(
Expand Down Expand Up @@ -282,7 +287,10 @@ class DiskMirror {
if (checkFun !== undefined && !checkFun(params)) {
return;
}
formData.append('params', JSON.stringify(params));
const blob = new Blob([JSON.stringify(params)], {
type: 'application/json'
});
formData.append('params', blob, "params");
// 开始进行请求发送
axios.defaults.withCredentials = true;
axios(
Expand Down Expand Up @@ -345,7 +353,10 @@ class DiskMirror {
if (checkFun !== undefined && !checkFun(params)) {
return;
}
formData.append('params', JSON.stringify(params));
const blob = new Blob([JSON.stringify(params)], {
type: 'application/json'
});
formData.append('params', blob, "params");
// 开始进行请求发送
axios.defaults.withCredentials = true;
axios(
Expand Down Expand Up @@ -429,7 +440,10 @@ class DiskMirror {
const formData = new FormData();
// 设置请求参数数据包
params["secure.key"] = this.getSk();
formData.append('params', JSON.stringify(params));
const blob = new Blob([JSON.stringify(params)], {
type: 'application/json'
});
formData.append('params', blob, "params");
// 开始进行请求发送
axios.defaults.withCredentials = true;
axios(
Expand Down Expand Up @@ -464,53 +478,6 @@ class DiskMirror {
});
}

/**
* 获取指定空间的所有的进度条
* @param userId {int|string} 指定要获取到的文件进度数据对应的空间id
* @param okFun {function} 操作成功之后的回调函数 输入是被文件进度的json对象
* @param errorFun {function} 操作失败之后的回调函数 输入是错误信息
* @param checkFun {function} 操作前的检查函数 输入是请求参数对象,如果返回的是一个false 则代表检查失败不继续操作
*/
getAllProgressBar(userId, okFun = undefined, errorFun = (e) => 'res' in e ? alert(e['res']) : alert(e), checkFun = undefined) {
if (userId === undefined || okFun === undefined) {
const err = "您必须要输入 userId 和 okFun 参数才可以进行文件对象的获取!";
if (errorFun !== undefined) {
errorFun(err);
} else {
console.error(err);
}
return
}
if (checkFun !== undefined && !checkFun(userId)) {
return;
}
axios.defaults.withCredentials = true;
// 开始获取
axios(
{
method: 'post',
url: this.diskMirrorUrl + this.getController() + '/getAllProgressBar',
params: {
id: userId
}
}
).then(function (res) {
// 处理成功
if (okFun !== undefined) {
okFun(res.data);
} else {
console.info(res.data);
}
}).catch(function (err) {
// 处理错误
if (errorFun !== undefined) {
errorFun(err);
} else {
console.error(err);
}
});
}

/**
* 向后端中查询文件转存情况
* @param params {{
Expand All @@ -528,8 +495,10 @@ class DiskMirror {
const formData = new FormData();
// 设置请求参数数据包
params["secure.key"] = this.getSk();
formData.append('params', JSON.stringify(params));
// 开始进行请求发送
const blob = new Blob([JSON.stringify(params)], {
type: 'application/json'
});
formData.append('params', blob, "params"); // 开始进行请求发送
axios.defaults.withCredentials = true;
axios(
{
Expand Down Expand Up @@ -654,7 +623,10 @@ class DiskMirror {
type: type,
"secure.key": this.getSk()
};
formData.append('params', JSON.stringify(params));
const blob = new Blob([JSON.stringify(params)], {
type: 'application/json'
});
formData.append('params', blob, "params");

// 开始进行请求发送
axios.defaults.withCredentials = true;
Expand Down

0 comments on commit f50671d

Please sign in to comment.