通过网页上传文件到mySql数据库?

时间:2015-04-23 11:11:03

标签: javascript php mysql

我有一个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文件。我只提出了一些代码来演示正在发生的事情。所有方法都适用于文本输入等。

1 个答案:

答案 0 :(得分:2)

如果您尝试使用xmlHTTPRequest上传文件,这些链接可能很有用。

  1. https://gist.github.com/ebidel/2410898
  2. https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest