PHP1.0版本上传OSS报错,仿照2.0版本传入的居然是句柄
代码如下:
$oss_sdk_service = new ALIOSS();
$oss_sdk_service->set_debug_mode(FALSE);
$bucket = 'xxxx';
$object = 'oss-file-name-'.time().'.jpg';
$pathFile = "C:/1.jpg";
$upload_file_options = array(
'content' => fopen($pathFile, 'r'),
'length' => filesize($pathFile),
);
$upload_file_by_content = $oss_sdk_service->upload_file_by_content($bucket,$object,$upload_file_options);
print_r($upload_file_by_content);die();
然后报错:
exception 'OSS_Exception' with message 'Http Body的内容非法',但是采用upload_file_by_file上传是可以的
解决如下:
你传入的是一个文件的句柄,并没有读取内容。应该改成这样:content' => file_get_contents($pathFile),