关于H5使用web直传失败的问题求助-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

关于H5使用web直传失败的问题求助

2016-11-01 09:54:33 2890 2
请教个问题,我的app是通过h5混合开发的,在chrome调试的时候可以按照web直传(应用服务器加了token,回调callback)能实现图片上传,但是打包成ios后,通过模拟器进行操作,则上传失败,直接不调取相关的上传回调callback服务,一般会是什么原因,有存在js与ios不兼容的可能么?
取消 提交回答
全部回答(2)
  • song8528
    2016-11-01 11:03:30
    回 1楼shinenuaa的帖子
    你好,代码如下,运行ios模拟器时将 client.multipartUpload上传请求直接跳过,改去执行catch
    var uploadFile = function (client) {
            var file = document.getElementById("publishFile").files[0];
            console.log("---------"+file);
            console.log("token--------------" + token);
            console.log(file.name + ' => ' + key);
            var body = 'token=' + token + '&infoId=' + $rootScope.infoId + '&type=2&imageUrls=http://bucket名字.oss-cn-shanghai.aliyuncs.com/' + key;

            var contentLength = body.length;
            console.log("body ========" + body);
            console.log("bodyLength = " + contentLength);

            return client.multipartUpload(key, file, {
              //progress: progress,
              headers: {
                'x-oss-callback': encodeCallback({
                  url: 'http://服务器地址/oss/callback',
                  //query: {user: 'js-sdk'},
                  //contentType: 'application/json',
                  body: body,
                  contentLength: contentLength
                }),
                'Access-Control-Allow-Origin' : '*'
              }
            }).then(function (res) {
              console.log('upload success: %j', res);
              console.log(res.data);
              $ionicLoading.hide();
              if (res.data.code == 0) {
                UtilsService.alertShowOne("操作成功,前往首页", function () {
                  $state.go("tab.homePage");
                });
              } else {
                UtilsService.alertShowOne("信息发布成功,上传失败图片无法显示",function(){
                  var token = localStorage.getItem("token");
                  var data = {
                    infoId:$rootScope.infoId,
                    token:token
                  };
                  RequestService.request(mConfig.updateInfoImg_url,data).then(function(value){
                    console.log("updateInfoImg_url成功");
                    $state.go("tab.homePage");
                  });
                });
              }
            var uploadFile = function (client) {
            var file = document.getElementById("publishFile").files[0];
            console.log("---------"+file);
            console.log("token--------------" + token);
            console.log(file.name + ' => ' + key);
            var body = 'token=' + token + '&infoId=' + $rootScope.infoId + '&type=2&imageUrls=http://bucket名字.oss-cn-shanghai.aliyuncs.com/' + key;

            var contentLength = body.length;
            console.log("body ========" + body);
            console.log("bodyLength = " + contentLength);
            return client.multipartUpload(key, file, {
              //progress: progress,
              headers: {
                'x-oss-callback': encodeCallback({
                  url: 'http://服务器IP地址/oss/callback',
                  //query: {user: 'js-sdk'},
                  //contentType: 'application/json',
                  body: body,
                  contentLength: contentLength
                }),
                'Access-Control-Allow-Origin' : '*'
              }
            }).then(function (res) {
              console.log('upload success: %j', res);
              console.log(res.data);
              $ionicLoading.hide();
              if (res.data.code == 0) {
                UtilsService.alertShowOne("操作成功,前往首页", function () {
                  $state.go("tab.homePage");
                });
              } else {
                UtilsService.alertShowOne("信息发布成功,上传失败图片无法显示",function(){
                  var token = localStorage.getItem("token");
                  var data = {
                    infoId:$rootScope.infoId,
                    token:token
                  };
                  RequestService.request(mConfig.updateInfoImg_url,data).then(function(value){
                    console.log("updateInfoImg_url成功");
                    $state.go("tab.homePage");
                  });
                });
              };
    0 0
  • shinenuaa
    2016-11-01 10:48:46
    出错有什么信息吗? 比如上传失败,oss报了什么错
    0 0
添加回答
相关问答

11

回答

iphone设置阿里云邮箱的步骤

minioba 2013-04-24 22:04:37 102260浏览量 回答数 11

145

回答

【新手入门】云服务器linux使用手册

fanyue88888 2012-11-26 17:14:18 157672浏览量 回答数 145

22

回答

爬虫数据管理【问答合集】

我是管理员 2018-08-10 16:37:41 147220浏览量 回答数 22

18

回答

阿里云开放端口权限

xcxx 2016-07-20 15:03:33 646743浏览量 回答数 18

31

回答

[@倚贤][¥20]刚学完html/css/js的新手学习servlet、jsp需要注意哪些问题?

弗洛伊德6 2018-10-27 21:52:43 146031浏览量 回答数 31

82

回答

OSS入门教程

belle.zhoux 2014-07-07 17:14:27 151434浏览量 回答数 82

249

回答

阿里云LNAMP(Linux + Nginx + Apache + MySQL + PHP)环境一键安装脚本

云代维 2014-02-14 15:26:06 305607浏览量 回答数 249

97

回答

Redhat/CentOS一键安装web环境全攻略

xiaofanqie 2011-08-11 14:51:38 123686浏览量 回答数 97

1

回答

ADB没有显示表组,这对RDS多库表同步到ADB后,会无法在Quick BI中识别

游客5votb3rqwkucq 2019-07-02 11:57:49 112754浏览量 回答数 1

37

回答

【云服务器教程征集令】这个六一阿里云邀您来吐槽!

fanyue88888 2012-06-01 18:55:41 113974浏览量 回答数 37
+关注
0
文章
5
问答
问答排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载