我目前正在从事在线项目工作。用户上传他们的图片,图像将首先存储在服务器文件夹中,例如"上传"目录...并且一旦文件将移动到上传目录中......然后使用mysql查询将路径插入到mysql数据库中。 但问题是......图像需要更长的时间才能加载到网页上...我希望在上传到数据库和服务器之前减小图像大小..
这是我的代码
System.setProperty("javax.net.ssl.trustStore", path to your cacerts file in your Java folder, inside your hard disk);
System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
Properties prop = new Properties();
prop.setProperty("mail.pop3.starttls.enable", "false");
prop.setProperty("mail.pop3.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
prop.setProperty("mail.pop3.socketFactory.fallback", "false");
prop.setProperty("mail.pop3.port", port);
prop.setProperty("mail.pop3.socketFactory.port", port);
prop.setProperty("mail.imap.ssl.trust", "*");
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
prop.put("mail.smtp.ssl.socketFactory", sf);
我的查询看起来像..
$upload_dir = 'user_images/'; // upload directory
$imgExt = strtolower(pathinfo($imgFile,PATHINFO_EXTENSION)); // get image extension
// valid image extensions
$valid_extensions = array('jpeg', 'jpg', 'png', 'gif'); // valid extensions
// rename uploading image
$userpic = rand(1000,1000000).".".$imgExt;
// allow valid image file formats
if(in_array($imgExt, $valid_extensions)){
// Check file size '5MB'
if($imgSize < 1000000){
move_uploaded_file($tmp_dir,$upload_dir.$userpic);
}
else{
$errMSG = "Sorry, your file is too large.";
}
}
else{
$errMSG = "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
}
}
答案 0 :(得分:1)
一般来说,将图像上传到数据库并不是一个好主意 - 数据库会非常迅速地增长,并可能导致性能并在将来维护问题。
使用数据库保存有关图片的元数据,并将图像保存在文件系统中。
答案 1 :(得分:0)
减小尺寸是一个非常普遍的问题,因为有不同的方面:
要减少字节数:
缩小尺寸: