有没有一种方法可以在不提交html/php表单的情况下获取图像文件内容?
我正在尝试向MySQL(mediumblob)发送一个图像文件。我可以使用有没有一种方法可以在不提交html/php表单的情况下获取图像文件内容?,php,jquery,html,mysql,image-uploading,Php,Jquery,Html,Mysql,Image Uploading,我正在尝试向MySQL(mediumblob)发送一个图像文件。我可以使用file\u get\u contents($image)轻松获取文件内容,并将其发送到MySQL。但是,我使用的服务器不允许我提交任何上传的文件,因此根本无法获取文件内容 是否有一种方法可以选择文件,将其放入变量中而不提交表单?提前感谢。如果问题解释正确,请尝试使用 var\u文件=[]; $(“形式”)。在(“变更”上,功能(事件){ event.preventDefault(); _files.push(e.tar
file\u get\u contents($image)
轻松获取文件内容,并将其发送到MySQL。但是,我使用的服务器不允许我提交任何上传的文件,因此根本无法获取文件内容
是否有一种方法可以选择文件,将其放入变量中而不提交表单?提前感谢。如果问题解释正确,请尝试使用
var\u文件=[];
$(“形式”)。在(“变更”上,功能(事件){
event.preventDefault();
_files.push(e.target.files[0]);
console.log(_文件);
})
很遗憾你不能上传文件。然而,有几个想法你可以尝试。这是其中之一:
function readSingleFile(evt) {
var f = evt.target.files[0];
if (f) {
var r = new FileReader();
r.onload = function (e) {
var contents = e.target.result;
alert("Got the file.n" + "name: " + f.name + "n" + "type: " + f.type + "n" + "size: " + f.size + " bytesn" + "starts with: " + contents.substr(1, contents.indexOf("n")));
}
r.readAsText(f);
} else {
alert("Failed to load file");
}
}
document.getElementById('fileinput').addEventListener('change', readSingleFile, false);
文件内容将位于contents变量中
然后使用
$.post('fileuploading.php', {filecontents: contents})
你就完了。要么将其输入数据库,要么将其另存为图像。多么优雅的解决方案
FIY:这在旧浏览器上可能会变得很棘手为什么要将图像作为blob存储在数据库中,而不是创建一个安全的上载过程?你能在这里写下你试图获取url的图像类型吗?。如果你试图从html内容中获取img url,有很多方法可以做到这一点,内容只是一个jpg图像,然后无需点击提交按钮即可获取其内容。谢谢,谢谢你的帮助。我会尝试一下,我对JS不是很在行,但会尝试一下。再次感谢!