项目场景:
绝对路径图片转换成文件流请求文件上传接口
因为我的uploadImgAndFile 接口接收的是前端传的文件流来调用华为云obs 如果我想将一张绝对路径的文件传到华为云 需要将其转换成文件流来请求接口 以下是代码。
@Override
//请求接口地址 参数 文件
function upload($url='https://api.xhjrbkp.com/api/file/uploadImgAndFile', $data='', $file='https://img.xhjrbkp.com/MTYzOTEwNjc5NXE1T3NDeDdQ.6m.png') {
$param = [
//此处根据实际文件的上传的 name 填写
'file' => file_get_contents($file),
'type' =>1,
];
if (!empty($data)) {
arrary_merge($data, $param);
}
$delimiter = uniqid();
$data = '';
$eol = "\r\n";
$upload = $param['file'];
unset($param['file']);
foreach ($param as $name => $content) {
$data .= "--" . $delimiter . "\r\n"
. 'Content-Disposition: form-data; name="' . $name . "\"\r\n\r\n"
. $content . "\r\n";
}
// 拼接文件流 name="fileData"; filename="1.png"' 根据实际的文件 name 和名字填写 或写个变量
//'Content-Type: image/gif'可改为'Content-Type:application/octet-stream' 由于我是测试的网站必须为 gif 所以就这样吧先
$data .= "--" . $delimiter . $eol
.