php - 将图像文件添加到我的服务器时出现问题
问题描述
基本上,我试图将图像文件放入服务器中的文件夹中,并在 MYSQL BD 中添加目录。它成功地将文件放入文件夹并将路径链接添加到表中的行。现在,问题是:当我尝试下载文件并显示它时,它下载但没有显示,所以我检查了 FTP 中的文件,结果文件大小为 0.1kb。我做错了什么,我该如何解决?
我已经对这个问题进行了一些研究,我可能很疯狂,但我认为我是唯一一个遇到这个问题的人,因为我无法在任何地方获得帮助。
这是我的代码;
$ImageData = $_POST['image_data'];
$ImageName = date("D M d, G:i");
$ImagePath = "albums/$ImageName.jpg";
$UploadPath = __DIR__."/../".$ImagePath;
$img = $ImagePath; //to be inserted into DB row
//mysql ("INSERT INTO table...") query here
if($InsertSQL->rowCount()){
file_put_contents($UploadPath,base64_decode($ImageData));
// file_put_contents($UploadPath,$ImageData);
echo "Your Image Has Been Uploaded.";
}
N/B:我使用 base64_decode 因为我是从 android 编码的。
我希望文件以实际大小保存到服务器目录。
解决方案
文件存储在$_FILES
not $_POST
.
假设您的表单中的字段被调用image_data
$ImageTmpPath = file_get_contents($_FILES['image_data']['tmp_name']);
$ImageName = date("D M d, G:i");
$ImagePath = "albums/$ImageName.jpg";
$UploadPath = __DIR__."/../".$ImagePath;
$img = $ImagePath; //to be inserted into DB row
//mysql ("INSERT INTO table...") query here
if($InsertSQL->rowCount()){
file_put_contents($UploadPath,base64_decode($ImageTmpPath));
echo "Your Image Has Been Uploaded.";
}
推荐阅读
- mongodb - 按日期过滤命名键
- javascript - 使用 React 钩子从另一个页面使用 useEffect 更新状态
- postgresql - Postgres:查找给定用户的 search_path 并永久修改它
- asp.net - 调用另一个控件后,我需要将焦点设置到调用控件
- html - 如何获取没有链接的文本?
- c++ - 从 lambda 返回变体
- java - 为什么我的 java 应用程序创建多个名称为“JMX 客户端心跳”的线程会消耗大量 CPU?
- asp.net-mvc - 将选定的值下拉列表传递给控制器
- react-native - react-native-bluetooth-escpos-printer 第一次连接尝试返回无法连接设备错误,但第二次尝试连接
- react-native - undefined 不是函数(在'...(0 _reactnavigation.stacknavigator)...'附近)