我有一个HTML网页,其中包含用于上传文件的表单。当您单击提交时,我想将表单发送到php文件,并将其存储在我的数据库中。
目前我使用reqular xmlHTTPRequest向我的php文件发送GET请求。这一切都很完美,所以我不想重构我的程序。
有人可以就如何做到这一点给我一些指导吗?我尝试发送文件,因为我发送其他输入(文本等)但在PHP中得到一个空值。
代码: HTML是一个简单的输入标记(当我复制它时,它不会显示它。)
JavaScript:
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange= function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById(elementName).innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "/Controller.php);
xmlhttp.send();
AJAX:
$file = @$_GET["file"];
$query = mysqli_prepare($conn, "INSERT INTO table (image) VALUES (?)");
mysqli_stmt_bind_param($query, 's',$file);
stmtGetInfo($query);
PHP:
public List<Image> arrayList = new ArrayList<>();
public OtherClassWithArray foo = new OtherClassWithArray();
jLabel.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if(e.getButton() == MouseEvent.BUTTON1) // left click
jLabel.setIcon(arrayList.get(xyz)); // access arraylist here
// jLabel.setIcon(foo.getArrayList.get(xyz); // access arrayList from other class
else // right click
// do smth here
}
});
当文件上传时,用户将点击提交,这将调用Javascript。 javascript将文件发送到ajax,然后将其发送到php文件。我只提出了一些代码来演示正在发生的事情。所有方法都适用于文本输入等。
答案 0 :(得分:2)
如果您尝试使用xmlHTTPRequest上传文件,这些链接可能很有用。