Compare commits
2 Commits
acd1718952
...
2640b0d50d
| Author | SHA1 | Date | |
|---|---|---|---|
| 2640b0d50d | |||
|
|
bae9b42c20 |
|
|
@ -97,6 +97,7 @@ function DeleteFile() {
|
||||||
|
|
||||||
PostData({
|
PostData({
|
||||||
file_block: {
|
file_block: {
|
||||||
|
transid: Math.floor(Math.random() * 0x7fffffff),
|
||||||
opertype: 2,
|
opertype: 2,
|
||||||
part: 0,
|
part: 0,
|
||||||
parts: 1,
|
parts: 1,
|
||||||
|
|
|
||||||
12
network.js
12
network.js
|
|
@ -7,9 +7,10 @@ const SHA256_HMAC_KEY = "mykey";
|
||||||
let MessIdCounter = 1;
|
let MessIdCounter = 1;
|
||||||
|
|
||||||
const BLOCK_SIZE = 5120;
|
const BLOCK_SIZE = 5120;
|
||||||
function ReceiveChunk(cur, total, name, namespase) {
|
function ReceiveChunk(cur, total, name, namespase, trid) {
|
||||||
let data = {
|
let data = {
|
||||||
[namespase]: {
|
[namespase]: {
|
||||||
|
transid: trid,
|
||||||
opertype: 1,
|
opertype: 1,
|
||||||
part: cur,
|
part: cur,
|
||||||
parts: total,
|
parts: total,
|
||||||
|
|
@ -37,13 +38,14 @@ async function GetBlockObject(namespase, name, size, buf, verb) {
|
||||||
let partsnum = Math.floor(size / BLOCK_SIZE);
|
let partsnum = Math.floor(size / BLOCK_SIZE);
|
||||||
if (size % BLOCK_SIZE)
|
if (size % BLOCK_SIZE)
|
||||||
partsnum++;
|
partsnum++;
|
||||||
|
let transid = Math.floor(Math.random() * 0x7fffffff);
|
||||||
//console.log(`Found ${partsnum} blocks in file ${name}`)
|
//console.log(`Found ${partsnum} blocks in file ${name}`)
|
||||||
let i;
|
let i;
|
||||||
let resp, dialog;
|
let resp, dialog;
|
||||||
if (verb)
|
if (verb)
|
||||||
dialog = Dialog.create({ message: `File "${name}" downloading...`, progress: true, persistent: true, ok: false, style: 'border: none; box-shadow: none;' })
|
dialog = Dialog.create({ message: `File "${name}" downloading...`, progress: true, persistent: true, ok: false, style: 'border: none; box-shadow: none;' })
|
||||||
for (i = 0; i < partsnum; i++) {
|
for (i = 0; i < partsnum; i++) {
|
||||||
resp = await ReceiveChunk(i, partsnum, name, namespase);
|
resp = await ReceiveChunk(i, partsnum, name, namespase, transid);
|
||||||
if (typeof resp[namespase] === 'string' || resp[namespase] instanceof String) {
|
if (typeof resp[namespase] === 'string' || resp[namespase] instanceof String) {
|
||||||
if (verb)
|
if (verb)
|
||||||
dialog.hide();
|
dialog.hide();
|
||||||
|
|
@ -70,7 +72,7 @@ function ToBase64(bytes) {
|
||||||
return window.btoa(binary);
|
return window.btoa(binary);
|
||||||
}
|
}
|
||||||
|
|
||||||
function SendChunk(cur, total, name, namespase, buf) {
|
function SendChunk(cur, total, name, namespase, buf, trid) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
let arr;
|
let arr;
|
||||||
if (cur == (total - 1))
|
if (cur == (total - 1))
|
||||||
|
|
@ -82,6 +84,7 @@ function SendChunk(cur, total, name, namespase, buf) {
|
||||||
|
|
||||||
let data = {
|
let data = {
|
||||||
[namespase]: {
|
[namespase]: {
|
||||||
|
transid: trid,
|
||||||
opertype: 3,
|
opertype: 3,
|
||||||
part: cur,
|
part: cur,
|
||||||
parts: total,
|
parts: total,
|
||||||
|
|
@ -101,12 +104,13 @@ async function PutBlockObject(namespase, name, size, buf, verb) {
|
||||||
if (size % BLOCK_SIZE)
|
if (size % BLOCK_SIZE)
|
||||||
partsnum++;
|
partsnum++;
|
||||||
//console.log(`Found ${partsnum} blocks in file`)
|
//console.log(`Found ${partsnum} blocks in file`)
|
||||||
|
let transid = Math.floor(Math.random() * 0x7fffffff);
|
||||||
let i;
|
let i;
|
||||||
let resp, dialog;
|
let resp, dialog;
|
||||||
if (verb)
|
if (verb)
|
||||||
dialog = Dialog.create({ message: `File "${name}" uploading...`, progress: true, persistent: true, ok: false, style: 'border: none; box-shadow: none;' })
|
dialog = Dialog.create({ message: `File "${name}" uploading...`, progress: true, persistent: true, ok: false, style: 'border: none; box-shadow: none;' })
|
||||||
for (i = 0; i < partsnum; i++) {
|
for (i = 0; i < partsnum; i++) {
|
||||||
resp = await SendChunk(i, partsnum, name, namespase, buf);
|
resp = await SendChunk(i, partsnum, name, namespase, buf, transid);
|
||||||
if (typeof resp[namespase] === 'string' || resp[namespase] instanceof String) {
|
if (typeof resp[namespase] === 'string' || resp[namespase] instanceof String) {
|
||||||
if (verb)
|
if (verb)
|
||||||
dialog.hide();
|
dialog.hide();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user