我尝试使用PHPExcel的PHPExcel_Worksheet_Drawing
(在此Symfony Bundle中)在Excel中插入图片,但我始终收到此消息:
File http://benefest.local/uploads/persons/image/58af244d3f58c_16143190_10210682923503464_8658615512523719175_n.jpg not found!
这是我的代码:
$objDrawing = new PHPExcel_Worksheet_Drawing();
$objDrawing->setPath($path);
$objDrawing->setWidth(30);
$objDrawing->setCoordinates('A1');
$objDrawing->setWorksheet($phpExcelObject->getActiveSheet());
我的图片由VichUploaderBundle上传,我通过一个功能生成绝对路径。返回给我http://benefest.local/uploads/persons/image/58af244d3f58c_16143190_10210682923503464_8658615512523719175_n.jpg
在浏览器中显示此图像!
有任何线索吗?
答案 0 :(得分:1)
答案是基于我对这个问题的评论。
URI和文件路径之间存在差异:
您的函数返回一个URI字符串(http://benefest.local/uploads/persons/image/58af244d3f58c_16143190_10210682923503464_8658615512523719175_n.jpg
),可用于通过Web服务器访问该图像。
但是PHPExcel_Worksheet_Drawing
以及其他库使用PHP filesystem functions来访问本地的某些文件。所以你需要获得一个本地文件路径,而不是URI(在你的情况下是./uploads/persons/image/58af244d3f58c_16143190_10210682923503464_8658615512523719175_n.jpg
)。