假设我有没有任何表单的<input type="file">,并通过File的Blob javascript获得该input选择的图像:
input.addEventListener('change', function(){
var reader = new FileReader();
reader.readAsDataURL(this.files[0]);
reader.onloadend = function() {
var base64data = reader.result;
var i = new Image();
i.src = base64data;
i.onload = function(){
var source = imageToDataUri(i,i.width,i.height,0.5);
});仅此而已。比如说,我的服务器中根本没有php脚本。用户只需通过下面的代码上传图片,例如,查看图片在网页中的显示方式。
在这种情况下,图片是否实际存储在我的服务器的某个地方,如果是的话,有人可以通过选择input中的图片来填充服务器中的所有空间吗?
也许,我没有正确理解blob技术。据我所知,如果我删除上面的onchange代码,只需修改input标记,显然通过按用户选择文件,就不会有任何东西被发送到服务器(或者已经发送了?)。在下面代码的哪一行,浏览器向我的服务器发送任何类型的请求,该请求是什么?
发布于 2021-02-12 10:30:48
FileReader或Image API不会将任何内容上传到服务器。一切都发生在访客电脑的浏览器里。只有通过fetch或XMLHttpRequest的显式HTTP请求才会导致将实际的HTTP请求发送到服务器。
https://stackoverflow.com/questions/66169541
复制相似问题