【发布时间】:2014-12-10 20:04:57
【问题描述】:
我正在尝试通过拖放界面上传图片,我得到了 JavaScript 代码here,但服务器端代码是用 PHP 实现的,如下所示(我对其进行了修改以将图片插入数据库):
<?php
//Connect to database
mysql_connect("localhost", "root", "something-strange") or die(mysql_error());
mysql_select_db("business_clax") or die(mysql_error());
// The posted data, for reference
$file = $_POST['value'];
$name = $_POST['name'];
if(!isset($file))
{
echo "Please select an image.";
}
//This is the line of code I really want in Java
$image = addslashes(file_get_contents($file)); //SQL Injection defence!
$image_name = addslashes($name);
$sql = "UPDATE `adverts` SET `photos` = '{$image}' WHERE `id` = '1'";
if (!mysql_query($sql)) { // Error handling
echo "Something went wrong! :(";
}
?>
上面的代码运行良好,但我需要在 Java 中实现它。
我试图在 Java Servlet 中实现上面的代码,但我不知道如何在 Java 中执行 file_get_contents($file) 和 addslashes(file_get_contents($file)); 函数,我认为必须有一个等效的方法。请我需要帮助。谢谢。
【问题讨论】:
-
到目前为止,如果您发布 Servlet 代码可能会有所帮助。话虽如此,如果您将文件存储在数据库中,您可能需要
Connection的.createBlob和Blob的.setBinaryStream方法。假设这些是 blob 字段,即。
标签: java javascript php servlets