我有一个对象,它是一个原始文件,我想以一个帖子形式发送这个对象。
当我尝试这个时:
{{ Form::open(array('url' => 'mgmtUser/upload_img_crop/', 'method' => 'POST', 'files' => true)); }}
<input hidden type="file" name="file" value="<?php $file; ?>">
<?= Form::hidden('x', '', array('id' => 'x')) ?>
<?= Form::hidden('y', '', array('id' => 'y')) ?>
<?= Form::hidden('w', '', array('id' => 'w')) ?>
<?= Form::hidden('h', '', array('id' => 'h')) ?>
<?= Form::submit('Crop it!') ?>
<?= Form::close() ?>
发布结果仅为: [ “文件”] =&GT; NULL
为什么以及如何获取所有对象,我应该编码,序列化......? 我在laravel 4。 $ file是:
object(Symfony \ Component \ HttpFoundation \ File \ UploadedFile)#9(7){ [ “测试”: “的Symfony \元器件\ HttpFoundation \文件\ UploadedFile的”:私人] =&GT; 布尔(假) [ “ORIGINALNAME”: “的Symfony \元器件\ HttpFoundation \文件\ UploadedFile的”:私人] =&GT; string(11)“3bb13ad.jpg” [ “mime类型”: “的Symfony \元器件\ HttpFoundation \文件\ UploadedFile的”:私人] =&GT; string(10)“image / jpeg” [ “尺寸”: “的Symfony \元器件\ HttpFoundation \文件\ UploadedFile的”:私人] =&GT; INT(8017) [ “错误”: “的Symfony \元器件\ HttpFoundation \文件\ UploadedFile的”:私人] =&GT; int(0)[“pathName”:“SplFileInfo”:private] =&gt;串(14) “/ tmp / phpVGS9Cu”[“fileName”:“SplFileInfo”:private] =&gt;串(9) “phpVGS9Cu”}
答案 0 :(得分:1)
如果您确实尝试通过表单发送$file
对象,则需要将其序列化为某种文件格式(例如,写入.txt
文件)然后通过输入上传。
看起来$file
对象包含与您可能尝试上传的文件相关的属性,而不是实际的PHP文件句柄对象。如果是这种情况,您只需更改以下行
<input hidden type="file" name="file" value="<?php $file; ?>">
要
<input hidden type="file" name="file" value="<?php $file.originalName; ?>">
修改强>
如果您需要在表单提交后使用文件句柄,请尝试以下操作:
<input hidden type="file" name="file" value="<?php echo json_encode($file) ?>">
然后当您在接收端时,请使用
$file = json_decode($_POST['file']);
访问Object。