繁体   English   中英

通过Laravel 4中的API调用保存上传的图像

[英]Save an uploaded image via an API call in Laravel 4

我不确定这里出了什么问题。 这是通过cURL完成的,请原谅输出的格式。 我无法保存通过API调用制作的图像。 这段代码:

//snip
if(Input::hasFile('photo')) {
    var_dump(Input::file('photo')); die();
}

产生:

<pre class='xdebug-var-dump' dir='ltr'>
  <b>array</b> <i>(size=1)</i>
    0 <font color='#888a85'>=&gt;</font>
      <b>object</b>(<i>Symfony\Component\HttpFoundation\File\UploadedFile</i>)[<i>9</i>]
      <i>private</i> 'test' <font color='#888a85'>=&gt;</font> <small>boolean</small> <font color='#75507b'>false</font>
      <i>private</i> 'originalName' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'moon-rising.jpg'</font> <i>(length=15)</i>
      <i>private</i> 'mimeType' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'image/jpeg'</font> <i>(length=10)</i>
      <i>private</i> 'size' <font color='#888a85'>=&gt;</font> <small>int</small> <font color='#4e9a06'>90400</font>
      <i>private</i> 'error' <font color='#888a85'>=&gt;</font> <small>int</small> <font color='#4e9a06'>0</font>
</pre>

但是这段代码:

//snip
if(Input::hasFile('photo') {
    var_dump(Input::file('photo')->getSize()); die();
}

将错误标记Call to a member function getSize() on a non-object

我不知道如何使它工作。 最初使用move()方法保存文件时,出现了相同的错误。

此问题已解决。 错误与我如何使用cURL查询API有关。 通过使用命令cURL -F "photo[]=@/path/to/image.jpg"我发送了多个文件的请求,而只发送了一个。 因此Input::file()实例是一个数组,而不是对象,因此Input::file()->move()不起作用。 确保仅上传一张照片“解决”了问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM