源代码如下:
<code class="lang-javascript"><html> <head> <meta charset=utf-8> <script src="../qddian/js/jquery.js"></script> </head> <body> <form action="http://v0.api.upyun.com/<?php echo $bucket?>" method=post enctype="multipart/form-data"> <!-- 需要传递以下三个表单内容 --> <input type=hidden name=policy value="<?php echo $policy?>"> <input type=hidden name=signature value="<?php echo $signature?>"> <input type=file name=file> <a id=upload href=#>上传</a> </form> </body> </html> <script> $(function(){ $('a#upload').click(function(){ //$('form').submit(); $.post( 'http://v0.api.upyun.com/<?php echo $bucket; ?>', { file: $('input[name=file]').val(), policy: $('input[name=policy]').val(), signature: $('input[name=signature]').val() }, function(data){ alert('Data: ' + data); } ); return false; }); }); </script> </code>
通过上述方式则提示"401 Unauthorized sign error",但通过$('form').submit()方式提交则返回200成功。截图如下,请各位大牛协助解决一下,不胜感激!
源代码如下:
<code class="lang-javascript"><html> <head> <meta charset=utf-8> <script src="../qddian/js/jquery.js"></script> </head> <body> <form action="http://v0.api.upyun.com/<?php echo $bucket?>" method=post enctype="multipart/form-data"> <!-- 需要传递以下三个表单内容 --> <input type=hidden name=policy value="<?php echo $policy?>"> <input type=hidden name=signature value="<?php echo $signature?>"> <input type=file name=file> <a id=upload href=#>上传</a> </form> </body> </html> <script> $(function(){ $('a#upload').click(function(){ //$('form').submit(); $.post( 'http://v0.api.upyun.com/<?php echo $bucket; ?>', { file: $('input[name=file]').val(), policy: $('input[name=policy]').val(), signature: $('input[name=signature]').val() }, function(data){ alert('Data: ' + data); } ); return false; }); }); </script> </code>
通过上述方式则提示"401 Unauthorized sign error",但通过$('form').submit()方式提交则返回200成功。截图如下,请各位大牛协助解决一下,不胜感激!
401的错误是签名的问题:
401:Unauthorized 访问未授权
401:Sign error 签名错误(操作员和密码,或签名格式错误)
sign error:
检查签名格式是否和又拍接口文档中一致。
Unauthorized:
错误检查空间名,操作员,密码等信息填写是否正确,上传路径是否有根“/”开始。
你可以参考下以上错误提示。
这个错误详细查看upyun的API http://www.upyun.com/intro/api-errors.php
另外使用jQuery的post是无法上传文件的,
<code class="lang-javascript">$('input[name=file]').val() </code>
获取的只是上传文件的本地路径。