我有一个允许用户上传图像文件的表单。
<div id="imageDiv">
Image Path : <input class="imageOption" type="file" id= "uploadImageFile" name="uploadImageFile" >
</div>
当我尝试从临时文件夹中获取路径时出现问题。处理完请求后,我不需要图像文件。当我尝试使用类似的东西获取路径时
$imagePath = $_FILES['uploadImageFile']['tmp_name'];
路径看起来像 C:\ wamp \ tmp \ phpA123.tmp。 我正在使用的API需要一个带有上传图像扩展名的路径 的 C:\瓦帕\ TMP \ image.png
除非我想将此图像复制到其他上传文件夹并使用它,否则无法找到方法。我不希望这些图像记录在服务器中
由于
答案 0 :(得分:13)
了解正在使用的特定API会很有帮助,但是编写良好的文件存储API不应该依赖于用于存储文件的上传文件名。您应该能够使用API中的临时文件内容,并单独指定文件名。
在L5:
// Get the UploadedFile object
$file = Request::file('uploadImageFile');
// You can store this but should validate it to avoid conflicts
$original_name = $file->getClientOriginalName();
// This would be used for the payload
$file_path = $file->getPathName();
// Example S3 API upload
$s3client->putObject([
'Key' => $original_name, // This will overwrite any other files with same name
'SourceFile' => $file_path,
'Bucket' => 'bucket_name'
]);
答案 1 :(得分:4)
如果你想获得与 -
相同的输出 $imagePath = $_FILES['uploadImageFile']['tmp_name'];
$file = Request::file('uploadImageFile');
$imagePath = $file->getPathName()