【问题标题】:"Uncaught Error: Match error: Expected string, got undefined" when uploading an image上传图片时出现“未捕获的错误:匹配错误:预期的字符串,未定义”
【发布时间】:2016-03-10 22:11:46
【问题描述】:

上传图片时出现此错误

match.js:38 Uncaught Error: Match error: Expected string, got undefined
check @ match.js:38
_addUrlToDatabasePI @ upload-to-amazon.js:32
(anonymous function) @ upload-to-amazon.js:108
(anonymous function) @ edgee_slingshot.js:375

如果我没记错的话,这与我在 _addUrlToDatabasePI 方法中使用检查的方式有关。这是我的方法

let _addUrlToDatabasePI = ( url ) => {
  check(url, String);
  var previewImageURL = Session.get("previewImageURL");
  previewImageURL = url;
  Session.set("previewImageURL", previewImageURL);
  console.log("Test" + " " + Session.get("previewImageURL"));
  _afterUploadingPI();
};

uploader 与将图像上传到 Amazon S3 中的 slingshot 方法一起使用,

var uploader

      if (config === '1') {
          uploader = new Slingshot.Upload( "uploadToAmazonS3Cg1" );
      } 
      if (config === '2') {
          uploader = new Slingshot.Upload( "uploadToAmazonS3Cg2" );
      }
      if (config === '3') {
          uploader = new Slingshot.Upload( "uploadToAmazonS3Cg3" );
      }

这里是如何使用 _addUrlToDatabasePI 函数的,它在客户端,

uploader.send( file, ( error, url ) => {
    if ( error ) {
      Bert.alert( error.message, "warning" );
      _setPlaceholderText();
    } 
    if (config === '1'){
      _addUrlToDatabasePI( url );
    }
    if (config === '2') {
      _addUrlToDatabaseSS( url )
    }
    if (config === '3') {
      _addUrlToDatabaseZip (url )
    }
  });
};

这很奇怪,因为它曾经可以正常工作,我可以毫无错误地上传文件,它突然出现了。我昨天和今天在尝试测试时关闭了笔记本电脑。这是工作。这很奇怪!

知道什么可能导致错误吗?

【问题讨论】:

  • 您在哪里使用该功能?这可能是因为您没有将字符串传递给它。
  • @Kyll 我编辑了我的问题,请查看 :)
  • 即使 uploader.send 中有错误,您似乎仍在调用该方法 _addUrlToDatabasePI。如果是这种情况,这就是 url 未定义并且您收到检查错误的原因。

标签: meteor


【解决方案1】:

uploader.send 异步工作,因此url 在其回调中不会立即可用。您应该首先检查它是否存在:

uploader.send( file, ( error, url ) => {
    if ( error ) {
      Bert.alert( error.message, "warning" );
      _setPlaceholderText();
    }
    if ( url ) { // check that url has returned
        if (config === '1'){
          _addUrlToDatabasePI( url );
        }
        if (config === '2') {
          _addUrlToDatabaseSS( url )
        }
        if (config === '3') {
          _addUrlToDatabaseZip (url )
        }
    }
  });
};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2018-02-09
    • 2013-10-27
    • 2019-04-23
    • 2020-01-06
    相关资源
    最近更新 更多