w***@163.com
w***@163.com
  • 发布:2016-07-15 15:45
  • 更新:2018-11-02 18:57
  • 阅读:7265

使用uploader ios上传文件失败

分类:HTML5+

请问同样的代码,在安卓中能够顺利上传成功,在ios中上传失败。跟踪代码发现ios提交到服务器端参数都没有提交过去。这是什么原因呢

2016-07-15 15:45 2 条评论 负责人:无 分享
已邀请:
DCloud_App_Array

DCloud_App_Array

这应该是ATS问题导致的(开启了ATS后连网需要使用符合苹果要求的https),请使用Alpha版本(http://update.dcloud.net.cn/alpha/index.html)。
或者提交云端打包,云端打包已经默认关闭了ATS。

l***@163.com

l***@163.com

请问您的问题解决了吗?我现在遇到同样的问题,ats关闭也不行。

Trust

Trust - 少说废话

请贴出详细的下载任务的代码。

  • w***@163.com (作者)

    谢谢现在已经解决了

    2016-09-27 09:38

  • 4***@qq.com

    回复 w***@163.com:你好,是怎么解决的呀

    2016-12-19 12:49

  • 春华秋实

    这个问题更诡异的在于 原来hb打包手机调试存在这个问题,但是本地打包后又回复正常了

    2017-01-23 12:56

  • 春华秋实

    hb打包还是不行

    2017-01-23 12:56

  • s***@qq.com

    回复 w***@163.com:请问是怎么解决的

    2017-07-27 14:19

c***@163.com

c***@163.com

请问问题解决了么
遇到一模一样的问题,
用uploader上传到oss,
也是安卓可以上传
换成ios oss那边连请求都没收到

y***@gmail.com

y***@gmail.com

IOS上传,用https 试试。

  • 董道刚

    的确是这个原因。比如七牛存储,之前是http://upload.qiniu.com/ 现在要换成:https://up.qbox.me/

    2017-01-23 02:25

春华秋实

春华秋实

我也遇到了同样的问题,原来本例是在ios手机上测试的,没有问题。一段时间不用,突然发现ios上用不了了,但是在android上测试没有问题。附件为完整demo
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<title>upload to qiniu test case</title>
</head>
<body>
<button id='file_upload_test'>上传文件</button>
<script type="text/javascript" src="js/mui.min.js" ></script>
<script type="text/javascript">
document.addEventListener('plusready', function(){
//console.log("所有plus api都应该在此事件发生后调用,否则会出现plus is undefined。"
document.getElementById('file_upload_test').addEventListener('tap', function(){
galleryImg();
});
});

    // 从相册中选择图片   
    function galleryImg() {  
        // 从相册中选择图片  
        plus.gallery.pick( function(path){  
            upload(path);  
        }, function (e) {  
            console.log("取消选择图片");  
        }, {filter:"image"} );  
    }  

    // 监听上传任务状态  
    function onStateChanged(upload, status) {  
        console.log(upload.state, status);  
        if (upload.state == 4 && status == 200 ) {  
            // 上传完成  
            alert( "Upload success: " + upload.getFileName() );  
        }  
    }  

    //上传图片  
    function upload(path){  
        let task;  
        task = plus.uploader.createUpload("http://up-z1.qiniu.com/", {  
                "method": "POST"  
            }, function(t, status) {  
                console.log(JSON.stringify(t));  
                console.log(status);  
                if (status == 200) {  
                    console.log("上传成功!");  
                    mui.toast("上传成功!");  
                } else {  
                    console.log("上传失败:" + status);  
                    mui.toast("上传失败:" + status);  
                }  
            }  
        );  

        task.addEventListener('statechanged', onStateChanged, false);  

        var uid = Math.floor(Math.random() * 100000000 + 10000000).toString();  
        var scope = "yhsns";//上传目标空间名称  
        var keyPath = "uploads/images/hbuilder/" + uid + path.substring(path.lastIndexOf("."), path.length);  
        var fileName = uid + path.substring(path.lastIndexOf("."), path.length);  
        console.log(fileName);  
        mui.ajax({  
            url: "http://api.irematch.com/api/Qiniu/GetUptoken",  
            type: "get",  
            data: {bucket: scope},  
            success: function(data){  
                var token = data.uptoken;  
                console.log("token "+ token);  
                task.addData("name", fileName);  
                task.addData("key", keyPath);  
                task.addData("scope", scope);  
                task.addData("token", token);  
                task.addFile(path, {  
                    "key":"file",  
                    "name": fileName  
                });  
                console.log('start');  
                console.log(JSON.stringify(task));  
                task.start();  
                console.log('end');  
            },  
            error: function(xhr){  
                console.log("error "+ xhr.responseText);  
            }  
        });  
    }  
</script>  

</body>
</html>

4***@qq.com

4***@qq.com - 天天

问题同上

Wiggins001

Wiggins001

这个问题怎么解决呢?发现在IOS11.4 上面在后台调试没有数据,但是下载官方的demo 程序又可以,请icloud的工作人员给处理下!!!

0o鬼瞳o0

0o鬼瞳o0

碰上同样的问题,安卓一切正常,过去IOS通过图片路径是能够上传的,一段时间后发现不能上传了,获得的图片地址只能用于本地展示。目前IOS版本是11.3 请官网及时修复这个问题。
请各位已经解决的大神朋友分享下解决方法,谢谢

0o鬼瞳o0

0o鬼瞳o0

问题已经发现,特意发出来与大家共享下我的问题出在域名自身,首先我有两台服务器一台服务器用的七牛云的PHPSDK,我的图片就是通过这台服务器来提交到七牛云的,经过发现域名https已经过期,只能用http协议,安卓对于域名没有任何影响,但是IOS是不能的,后来从新认证了下域名,完美解决。请各位碰上此类问题的码友首先检查自己的域名是否证书已经过期。

该问题目前已经被锁定, 无法添加新回复