Google Script未验证内容类型“application / octet-stream”

时间:2018-01-15 21:13:40

标签: google-apps-script google-api

我有两个问题:

  1. 发送相同图片定期会弹出错误:

      

    错误:GoogleJsonResponseException:   application / octet-stream

    类型的文件不支持OCR

    function doOCR(imageUrl) {
    // Fetch the image data from the web
    var imageBlob = UrlFetchApp.fetch(imageUrl).getBlob();
    var metadata = {
      title: imageBlob.getName() || 'OCR File',
      mimeType: imageBlob.getContentType() || 'image/png'
    };
    var options = { // OCR on .jpg, .png, .gif, or .pdf uploads
      ocr: true
    };
    var docFile = Drive.Files.insert(metadata, imageBlob, options);
    var doc = DocumentApp.openById(docFile.id);
    
  2. 如果我们合并:

    replace("/", "") + replace("\n", "")
    

    在其中

    replace(/[\n\/]+|(\/\n)+/g, "") // not work!
    

    代码是:

    // Extract the text body of the Google Document
    var text = doc.getBody().getText().replace("\n", "") //working
              .toLowerCase()
              .replace("/", "") //working
              .replace(/((^|\.[\s\n]+)(\w))/g,
               function(m, m1, m2, p) {
                  return m1.toUpperCase();
               }); //end normalize text  
      return text
    }
    
  3. 为什么?
    我无法理解。
    但如果你在代码中分开两者,那么一切正常。

    UPD : 对不起大家。我真的犯了一个错误并添加了额外的报价。但在代码中却没有。 正则表达式本身我在谷歌脚本测试它没有用。

    然后我决定在网站https://regex101.com/上尝试一下。它也不能完全不是两种组合中的一种。即换行符。在google-script中,有时会错过符号'/'或'\ n'。

    我可以解决的第一个错误明确指定'mimeType:i mage / png',而不是定义文件。传输文件时,问题很可能是gzip压缩。而后续的错误解码是我的意见,可能是错误的

    非常感谢发表评论的每个人。有人回答我真的很惊讶!

0 个答案:

没有答案