|
|
<html> <head> <title>Convert a file to a base64 request</title>
<script type="text/javascript">
function form_submit(e){ console.log(e)
var resultOutput = document.getElementById('resultOutput'); var fileInput = document.getElementById('fileInput'); var fieldInput = document.getElementById('fieldInput');
makeRequestBase64(fileInput.files[0], fieldInput.value, function(err, result){ resultOutput.value = result; });
return false; }
function makeRequestBase64(file, fieldName, cb){ var boundary = '\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/'; var crlf = "\r\n";
var reader = new FileReader(); reader.onload = function(e){ var body = '';
body += '--' + boundary + crlf; body += 'Content-Disposition: form-data; name="' + fieldName + '"; filename="' + escape(file.name)+ '"' + crlf; body += 'Content-Type: ' + file.type + '' + crlf; body += 'Content-Transfer-Encoding: base64' + crlf body += crlf; body += e.target.result.substring(e.target.result.indexOf(',') + 1) + crlf;
body += '--' + boundary + '--';
var head = ''; head += 'POST /upload HTTP/1.1' + crlf; head += 'Host: localhost:8080' + crlf; head += 'Content-Type: multipart/form-data; boundary=' + boundary + '' + crlf; head += 'Content-Length: ' + body.length + '' + crlf;
cb(null, head + crlf + body); };
reader.readAsDataURL(file); }
</script>
</head>
<body>
<form action="" onsubmit="return form_submit();"> <label>File: <input id="fileInput" type="file" /></label><br /> <label>Field: <input id="fieldInput" type="text" value="file" /></label><br /> <button type="submit">Ok!</button><br /> <label>Request: <textarea id="resultOutput" readonly="readonly" rows="20" cols="80"></textarea></label><br /> </form> <p> Don't forget to save the output with windows (CRLF) line endings! </p>
</body> </html>
|