使用Karjee bootstrap fileinput控件,希望通过新浪云存储的Form提交方法实现多图片上载。但是一直没成功。看了例子,用了SCS的SDK,依葫芦画瓢。
          <form method="post" action="#" enctype="multipart/form-data" id="uploadForm">
              <?php
              foreach ($params as $p => $v)
                  echo "<input type=\"hidden\" name=\"{$p}\" value=\"{$v}\" />\n";
              ?>
              <input id="myInput" type="file" name="file" multiple>
          </form>    $('#myInput').fileinput({
        language: 'zh',
        allowedFileExtensions: ['jpg', 'png', 'gif','JPEG'],
        maxFileCount:'4',
        uploadUrl: "http://my-bucket.sinacloud.net/",
        uploadExtraData:
            function (previewId, index) {
            var obj = {};
            $('#uploadForm').find('input').each(function() {
                var id = $(this).attr('name'), val = $(this).val();
                obj[id] = val;
            });
            return obj;
        }
    });不知道为何POST到SCS的数据总是无效,我提交到自己的PHP输出<?phpecho 'AWSAccessKeyId:'.$_POST['AWSAccessKeyId']."\n";
echo 'file:'.$_POST['file']."\n";
echo 'file_id:'.$_POST['file_id']."\n";
echo 'key:'.$_POST['key']."\n";
echo 'acl:'.$_POST['acl']."\n";
echo 'success_action_status:'.$_POST['success_action_status']."\n";
echo 'Content-Type:'.$_POST['Content-Type']."\n";
echo 'Content-Disposition:'.$_POST['Content-Disposition']."\n";
echo 'uid:'.$_POST['uid']."\n";
echo 'Policy:'.$_POST['Policy']."\n";
echo 'file:'.$_POST['file']."\n";
?>和example页面的例子里面POST过来的数据有些不一致
示例中POST的结果:
AWSAccessKeyId:一致 
file: 
file_id: 
key:remoteinspect/photo/7289717e09a8dd70 
acl:public-read 
success_action_status:201 
Content-Type:application/octet-stream 
Content-Disposition:29 
uid:123 
Policy:一致
file:
我的页面使用Fileinput控件POST的结果
AWSAccessKeyId:一致
file:C:\fakepath\20180508152134.jpg
file_id:0
key:remoteinspect/photo/a8dc526d33d5693a
acl:public-read
success_action_status:201
Content-Type:application/octet-stream
Content-Disposition:attachment; filename=${filename}
uid:123
Policy:一致
file:C:\fakepath\20180508152134.jpg不知道该如何下手,请各位给点思路,轻喷!