Angular、MYSQL、PHP存储图像
我正在尝试将Angular、MYSQL、PHP存储图像,php,mysql,angularjs,Php,Mysql,Angularjs,我正在尝试将中的图像存储到Mysql中 我们可以开始讨论如何将二进制数据存储在数据库中,或者只存储到文件的路径,但我选择了这种方式,因为它将使备份更加容易:) 这是我目前的代码: 控制器: JourneyFactory.StoreJourney(this.journey) .success(function(data){ journeyStatus = data; }); 工厂: StoreJour
中的图像存储到Mysql中
我们可以开始讨论如何将二进制数据存储在数据库中,或者只存储到文件的路径,但我选择了这种方式,因为它将使备份更加容易:)
这是我目前的代码:
控制器:
JourneyFactory.StoreJourney(this.journey)
.success(function(data){
journeyStatus = data;
});
工厂:
StoreJourney: function(journey){
var params = {
action : 'store',
journey: journey
};
return $http({
url : '../server/journey.php',
method : 'GET',
params : params
});
traveley.php:
//omitted not relevant code
private function Store($journey){
date_default_timezone_set('UTC');
$journey->PriceValid = date('Y-m-d', strtotime($journey->PriceValid));
if($this->database->Insert("INSERT INTO journey (ID, Name, Code, Country, Price, PriceValid, Thumb, Image, Description) VALUES (:ID, :Name, :Code, :Country, :Price, :PriceValid, :Thumb, :Image, :Description)", $journey)){
echo json_encode(array("success" => true));
}else{
echo json_encode(array("success" => false));
}
}
database.php:
public function Insert($query, $params){
$connection = $this->OpenConnection();
$query = $connection->prepare($query);
try{
foreach($params as $key => $value){
if($key == 'Image' || $key == 'Thumb'){
$query->bindValue(':'.$key, $value, PDO::PARAM_LOB);
}else{
$query->bindValue(':'.$key, $value);
}
};
$query->execute();
return true;
}catch (PDOException $ex){
echo 'Query failed: ' . $ex->getMessage();
}finally{
$this->CloseConnection($connection);
}
return false;
}
它插入数据库中除2个图像之外的所有值。。仅存储一小部分:
433A5C66616B65706174685C646F776E6C6F61642E706E67
(即使是两个不同的文件,两个图像都是相同的)标题可能
你知道怎么让它工作吗
编辑:
Mysql:
列数据类型:MEDIUMBLOB
更改为POST不会改变任何事情
感谢您的时间,您在数据库中的图像字段的类型/大小是什么?请注意,文件上传应该使用POST
GET
一般长度有限,将截断“大”上载。字段的数据类型为MEDIUMBLOB,我现在尝试将其更改为POST,感谢tipI未成功切换为POST,同样的问题:(