Commit 35332f6e authored by 夏彬's avatar 夏彬

添加图片获取远程图片

parent 0a148eec
...@@ -11,6 +11,7 @@ namespace Hanson\Vbot\Message; ...@@ -11,6 +11,7 @@ namespace Hanson\Vbot\Message;
use Hanson\Vbot\Foundation\Vbot; use Hanson\Vbot\Foundation\Vbot;
use Hanson\Vbot\Message\Traits\Multimedia; use Hanson\Vbot\Message\Traits\Multimedia;
use Hanson\Vbot\Message\Traits\SendAble; use Hanson\Vbot\Message\Traits\SendAble;
use Swoole\Mysql\Exception;
class Image extends Message implements MessageInterface class Image extends Message implements MessageInterface
{ {
...@@ -38,18 +39,40 @@ class Image extends Message implements MessageInterface ...@@ -38,18 +39,40 @@ class Image extends Message implements MessageInterface
$file = is_string($mix) ? $mix : static::getDefaultFile($mix['raw']); $file = is_string($mix) ? $mix : static::getDefaultFile($mix['raw']);
if (!is_file($file)) { if (!is_file($file)) {
return false; if (filter_var($file, FILTER_VALIDATE_URL)) {
try{
$tempfile = sys_get_temp_dir() . '/' . md5($file) . '.jpg';
if (!file_exists($tempfile)) {
$content = file_get_contents($file);
file_put_contents($tempfile, $content);
}
$file = $tempfile;
}catch (\Exception $e){
return FALSE;
}
} else {
return FALSE;
}
} }
if (exif_imagetype($file) != IMAGETYPE_JPEG) {
return FALSE;
}
$response = static::uploadMedia($username, $file); $response = static::uploadMedia($username, $file);
return static::sendMsg([ return static::sendMsg([
'Type' => 3, 'Type' => 3,
'MediaId' => $response['MediaId'], 'MediaId' => $response['MediaId'],
'FromUserName' => vbot('myself')->username, 'FromUserName' => vbot('myself')->username,
'ToUserName' => $username, 'ToUserName' => $username,
'LocalID' => time() * 1e4, 'LocalID' => time() * 1e4,
'ClientMsgId' => time() * 1e4, 'ClientMsgId' => time() * 1e4,
]); ]);
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment