Skip to content

Commit 5c1141c

Browse files
save file
1 parent 7d52d39 commit 5c1141c

File tree

1 file changed

+48
-1
lines changed

1 file changed

+48
-1
lines changed

utils/webrtc/file-transfer-http/file-transfer-http.html

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,9 +112,11 @@
112112
[$,datatype,menumod,keydown] = await promise;
113113

114114
mod.stack.complete;
115-
115+
116116
})();
117117

118+
119+
118120

119121
</script init>
120122

@@ -244,6 +246,10 @@ <h3>
244246
<input value=read type=button>
245247
<input value=process type=button>
246248

249+
<div class=spc></div>
250+
251+
<input value='download server' type=button>
252+
247253
</div>
248254

249255

@@ -394,6 +400,8 @@ <h3>
394400

395401
$(root,'[value=read]').onclick = btn.read;
396402
$(root,'[value=process]').onclick = btn.process;
403+
404+
$(root,'[value="download server"]').onclick = btn.download;
397405

398406

399407
filemod.initdom(root);
@@ -515,6 +523,45 @@ <h3>
515523
}//process
516524

517525

526+
btn.download = async function(){
527+
528+
var jszip = await import('https://cdn.jsdelivr.net/npm/jszip/+esm');
529+
jszip = jszip.default;
530+
531+
var root = `webrtc-file-transfer-http-server`;
532+
533+
var zip = new jszip();
534+
zip.folder(root);
535+
536+
var res = await fetch('https://raw.githubusercontent.com/javascript-2020/code/main/nodejs/server/webrtc-file-transfer-http/webrtc-file-transfer-http-server.js');
537+
var blob = await res.blob();
538+
zip.file(`${root}/webrtc-file-transfer-http-server.js`,blob);
539+
540+
zip.folder(`${root}/node_modules`);
541+
542+
var libs = ['nodejs/keys/keys.js','nodejs/wsmod/wsmod.js','nodejs/server-cert/server-cert.js'];
543+
await Promise.all(
544+
libs.map(async path=>{
545+
546+
var fn = path.split('/').at(-1);
547+
var blob = await fetch(`https://raw.githubusercontent.com/javascript-2020/libs/main/${path}`).then(res=>res.blob());
548+
zip.file(`${root}/node_modules/${fn}`,blob);
549+
550+
});
551+
);
552+
553+
554+
var blob = await zip.generateAsync({type:'blob'});
555+
556+
var url = window.URL.createObjectURL(blob);
557+
var a = document.createElement('a');
558+
a.download = `${root}.zip`;
559+
a.href = url;
560+
a.click();
561+
562+
}//download
563+
564+
518565
//:
519566

520567

0 commit comments

Comments
 (0)