function GetFormData(file) {
const formData = new FormData();
formData.append('file', file);
return formData;
}
async function onOpened(message) {
let input = document.getElementById("input");
SpecialPowers.wrap(input).mozSetFileArray([message.file]); script.destroy();
let reg = await navigator.serviceWorker.register('sw_file_upload.js',
{scope: "." });
let serviceWorker = reg.installing || reg.waiting || reg.active;
await waitForState(serviceWorker, 'activated');
let res = await fetch('server_file_upload.sjs?clone=0', {
method: 'POST', body: input.files[0],
});
let data = await res.clone().text();
ok(data.length, "We have data for an uncloned request!");
res = await fetch('server_file_upload.sjs?clone=1', {
method: 'POST',
// Make sure the underlying stream is a file stream body: GetFormData(input.files[0]),
});
data = await res.clone().text();
ok(data.length, "We have data for a file-stream-backed cloned request!");
await reg.unregister();
SimpleTest.finish();
}
let url = SimpleTest.getTestFileURL("script_file_upload.js");
let script = SpecialPowers.loadChromeScript(url);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.