Fetch API
下载:
上传:
单文件最简示例:
<input type="file" id="file" /><br /><br /><button onclick="execute(this)">上传</button>
function execute(btn) {
var files = document.querySelector("#fileTag").files;
if (files.length === 0) { alert("您未选择任何文件!"); return; }
console.log(files[0].size);
var maxSize = 100; // 单位MiB。
if (files[0].size <= maxSize * 1024 * 1024) {
var fd = new FormData(); fd.append("file", files[0]);
fetch("/upload", { method: "POST", body: fd
//, headers: {"Authorization": "Bearer " + accessToken}
}).then(r => {
console.log(r);
if (r.status === 413) {
alert("文件大小不能超过 " + maxSize + "MiB!(" + files[0].size+")");
} else { alert("上传完成! - " + files[0].size); }
});
} else { alert("文件大小不能超过 " + maxSize + "MiB!"); return; }
}
多文件最简示例:
<input type="file" id="fileTag" multiple="multiple" /><br /><br />
<progress id="pbTag" value="0" max="1"></progress> <span id="pbtTag">0%</span><br /><br />
<button onclick="execute(this)">上传</button>