如何在 postman ReSTful 网络服务中发送多个文件?
How to send multiple files in postman ReSTful web service?
我正在使用 ReSTful 网络服务。我正在使用一种功能上传多张照片 (PHP)。
我已经使用 $num_files = count($_FILES['myfile']['name'])
来计算要上传的文件数,但这总是给出 1:
当我打印 $_FILES['myfile']['name']
或 $_FILES
时,它是 returns 最后一张图像。
我是否应该做任何设置一次发送多个文件?
<?php
if($result=="success")
{
$num_files = count($_FILES['myfile']['name']);
Zend_Debug::dump($num_files);
die;
for( $i=0; $i < $num_files; $i++ )
{
$name = $_FILES["myfile"]["name"][$i];
$temp_path = $_FILES['myfile']['tmp_name'][$i];
$image_name = Helper_common::getUniqueNameForFile( $name );
echo $image_name;
die;
// Set the upload folder path
$target_path = $originalDirecory."/";
// Set upload image path
$image_upload_path = $target_path.$image_name;
move_uploaded_file($temp_path, $image_upload_path);
//if(move_uploaded_file($temp_path, $image_upload_path))
//{
// Set 800*800 popup thumbnail...
// Set popup directory...
$thumbnail_directory=$popUpDirectory."/";
// Set thumbnail name...
$thumb_name1=$thumbnail_directory.'thumbnail_'.$image_name;
// Set width and height of the thumbnail...
$thumb_width=800;
$thumb_height=800;
$thumb1=Helper_common::generateThumbnail($image_upload_path, $thumb_name1, $thumb_width, $thumb_height);
//if($thumb)
//{
// Set 435*333 thumbnail...
// Set thumbnail directory...
$thumbnail_directory=$wallDirecory."/";
// Set thumbnail name...
$thumb_name2=$thumbnail_directory.'thumbnail_'.$image_name;
// Set width and height of the thumbnail...
$thumb_width=435;
$thumb_height=435;
$thumb2=Helper_common::generateThumbnail($image_upload_path, $thumb_name2, $thumb_width, $thumb_height);
//if($thumb)
//{
// Set 176*176 thumbnail...
// Set thumbnail directory...
$thumbnail_directory=$galleryDirectory."/";
// Set thumbnail name...
$thumb_name3=$thumbnail_directory.'thumbnail_'.$image_name;
// Set width and height of the thumbnail...
$thumb_width=176;
$thumb_height=176;
$thumb_smart_resize_3 = Helper_ImageResizer::smart_resize_image($image_upload_path, NULL, $thumb_width, $thumb_height, false, $thumb_name3, false);
$thumb3=Helper_common::generateThumbnail($image_upload_path, $thumb_name3, $thumb_width, $thumb_height);
//if($thumb)
//{
$profile_thumb=$thumb3;
// Set 131*131 thumbnail...
// Set thumbnail directory....
$thumbnail_directory = $thumbnailsDirectory."/";
// Set thumbnail name....
$thumb_name4 = $thumbnail_directory.'thumbnail_'.$image_name;
$thumb_width=131;
$thumb_height=131;
$thumb_smart_resize_4=Helper_ImageResizer::smart_resize_image($image_upload_path, NULL, $thumb_width, $thumb_height, false, $thumb_name4, false);
$thumb4=Helper_common::generateThumbnail($image_upload_path, $thumb_name4, $thumb_width, $thumb_height);
}
我找到了解决办法。
我需要使 myfile 成为这样的数组:
我的文件[] :)
您需要在参数中添加一个方括号[]。看下图。我添加 file[] 从邮递员上传多张图片。
您可以使用相同的键简单地添加多行,邮递员将它们转换为数组。 key 不需要加 [] 作为后缀。
请求
回应
如果你有一个数组 objects 需要传递然后遵循下面的模式
是啊,邮递员的最后一个版本做了一个错误的更新。
但是,你可以下载 postman 的 chrome 扩展并用它发送多个文件,它在那里仍然有效。
编辑:我刚刚检查了一下,他们把它带回来了,但是如果你用 chromium 版本制作文件,你必须重新输入文件的键值。
但现在可以正常使用了。
看图
更新 2020 邮递员
您不需要添加 [ ]
只需输入参数名称和 select 个文件即可。
我正在使用 ReSTful 网络服务。我正在使用一种功能上传多张照片 (PHP)。
我已经使用 $num_files = count($_FILES['myfile']['name'])
来计算要上传的文件数,但这总是给出 1:
当我打印 $_FILES['myfile']['name']
或 $_FILES
时,它是 returns 最后一张图像。
我是否应该做任何设置一次发送多个文件?
<?php
if($result=="success")
{
$num_files = count($_FILES['myfile']['name']);
Zend_Debug::dump($num_files);
die;
for( $i=0; $i < $num_files; $i++ )
{
$name = $_FILES["myfile"]["name"][$i];
$temp_path = $_FILES['myfile']['tmp_name'][$i];
$image_name = Helper_common::getUniqueNameForFile( $name );
echo $image_name;
die;
// Set the upload folder path
$target_path = $originalDirecory."/";
// Set upload image path
$image_upload_path = $target_path.$image_name;
move_uploaded_file($temp_path, $image_upload_path);
//if(move_uploaded_file($temp_path, $image_upload_path))
//{
// Set 800*800 popup thumbnail...
// Set popup directory...
$thumbnail_directory=$popUpDirectory."/";
// Set thumbnail name...
$thumb_name1=$thumbnail_directory.'thumbnail_'.$image_name;
// Set width and height of the thumbnail...
$thumb_width=800;
$thumb_height=800;
$thumb1=Helper_common::generateThumbnail($image_upload_path, $thumb_name1, $thumb_width, $thumb_height);
//if($thumb)
//{
// Set 435*333 thumbnail...
// Set thumbnail directory...
$thumbnail_directory=$wallDirecory."/";
// Set thumbnail name...
$thumb_name2=$thumbnail_directory.'thumbnail_'.$image_name;
// Set width and height of the thumbnail...
$thumb_width=435;
$thumb_height=435;
$thumb2=Helper_common::generateThumbnail($image_upload_path, $thumb_name2, $thumb_width, $thumb_height);
//if($thumb)
//{
// Set 176*176 thumbnail...
// Set thumbnail directory...
$thumbnail_directory=$galleryDirectory."/";
// Set thumbnail name...
$thumb_name3=$thumbnail_directory.'thumbnail_'.$image_name;
// Set width and height of the thumbnail...
$thumb_width=176;
$thumb_height=176;
$thumb_smart_resize_3 = Helper_ImageResizer::smart_resize_image($image_upload_path, NULL, $thumb_width, $thumb_height, false, $thumb_name3, false);
$thumb3=Helper_common::generateThumbnail($image_upload_path, $thumb_name3, $thumb_width, $thumb_height);
//if($thumb)
//{
$profile_thumb=$thumb3;
// Set 131*131 thumbnail...
// Set thumbnail directory....
$thumbnail_directory = $thumbnailsDirectory."/";
// Set thumbnail name....
$thumb_name4 = $thumbnail_directory.'thumbnail_'.$image_name;
$thumb_width=131;
$thumb_height=131;
$thumb_smart_resize_4=Helper_ImageResizer::smart_resize_image($image_upload_path, NULL, $thumb_width, $thumb_height, false, $thumb_name4, false);
$thumb4=Helper_common::generateThumbnail($image_upload_path, $thumb_name4, $thumb_width, $thumb_height);
}
我找到了解决办法。 我需要使 myfile 成为这样的数组: 我的文件[] :)
您需要在参数中添加一个方括号[]。看下图。我添加 file[] 从邮递员上传多张图片。
您可以使用相同的键简单地添加多行,邮递员将它们转换为数组。 key 不需要加 [] 作为后缀。
请求
回应
如果你有一个数组 objects 需要传递然后遵循下面的模式
是啊,邮递员的最后一个版本做了一个错误的更新。
但是,你可以下载 postman 的 chrome 扩展并用它发送多个文件,它在那里仍然有效。
编辑:我刚刚检查了一下,他们把它带回来了,但是如果你用 chromium 版本制作文件,你必须重新输入文件的键值。
但现在可以正常使用了。
看图
更新 2020 邮递员
您不需要添加 [ ]
只需输入参数名称和 select 个文件即可。