当前位置: 首页 > 知识库问答 >
问题:

无法用google drive sdk上传。doc文件

许子平
2023-03-14

我可以从我的应用程序上传。docx文件到google drive,但当我试图上传。doc文件时,出现了这个错误:

出现错误:调用POST https://www.googleapis.com/upload/drive/v2/files时出错?uploadtype=multipart&key=aizasycm1wqpp05lbrjkspxdthjs8lz6wleowlu:(400)提供的mime类型无效

当我上传。ppt.xls文件时,这个错误也出现了。文档说我们可以在Google Drive中存储任何MIME类型。这里怎么了?有人知道吗?

function insertFile($title, $description, $parentId, $mimeType, $filename) {

$file = new DriveFile();
$file->setTitle($title);
$file->setDescription($description);
$file->setMimeType($mimeType);

if ($parentId != null) {
  $parent = new ParentReference();
  $parent->setId($parentId);
  $file->setParents(array($parent));
}

try {
  $data = file_get_contents($filename);

  $createdFile = $this->service->files->insert($file, array(
    'data' => $data,
    'mimeType' => $mimeType,
  ));

  return $createdFile;
} catch (Exception $e) {
  print "An error occurred: " . $e->getMessage();
  }    
}
function upload() {
$title = $this->input->post('title');
        $description = $this->input->post('description');
        $parentId = $this->input->post('parentId');

        if ($_FILES["file"]["error"] > 0) {
            echo "Error: " . $_FILES["file"]["error"] . "<br>";
        } else {
            $driveHandler = new DriveHandler($_SESSION['credentials']);
            $driveHandler->BuildService($_SESSION['credentials']);
            $ext = substr(strrchr($_FILES["file"]["name"],'.'),1);        
            if($title === ""){
                $fileTitle = $_FILES["file"]["name"];                
            } else {
                $fileTitle = "$title.$ext";
            }
            $driveHandler->insertFile($fileTitle, $description, $parentId, $_FILES["file"]["type"], $_FILES["file"]["tmp_name"]);              
}

共有1个答案

徐安康
2023-03-14

当我尝试对.docx文件使用var_dump($mimetype)时,结果是:

string(71)“application/vnd.openxmlformats-officedocument.wordprocessingml.document”

对于.doc文件:

  $data = file_get_contents($filename);
  $mime = str_replace('"', "", $mimeType);

  $createdFile = $this->service->files->insert($file, array(
    'data' => $data,
    'mimeType' => $mime,
  ));
 类似资料:
  • 我使用这个网络服务上传一个文件使用泽西 //省省吧 //将上传的文件保存到新位置 当我执行我的代码我得到一个405错误!对这个问题有什么建议吗?

  • 我正在尝试将pdf或doc文件上传到由laravel组成的网站上。这是我的刀片页面。 这是我的控制器 我得到一个错误说非静态方法Illumate\Http\Request::file()不应该被静态调用来修复这个问题 使用照明\支持\外观\请求 而不是 使用照明\Http\Request; 但是后来我收到一个错误,说我不能使用验证。任何形式的帮助都将不胜感激。

  • 当我试图上传文件到泽西岛时,我发现下面有一些异常,请帮助我解决。谢谢 html文档:- 阿贾克斯:- Java代码:- 例外情况:- 2015年6月17日下午7:55:34组织。阿帕奇。卡塔琳娜。果心StandardWrapperValve调用 请求头:-

  • 我正在使用Selenium WebDriver和PhantomJs(C#)。在此之前,我使用FireFox而不是PhantomJs,并以以下方式上传了一个文件: 我的问题: 然而,当我使用PhantomJS时,这将崩溃。 在我看来,对于许多使用PhantomJS+Selenium的人来说,这是一个常见的问题,这让我想知道为什么这个bug还没有得到修复。

  • 我的JSP页面是这样的: 以下是我的java代码: 返回。我真的不知道原因。

  • 问题内容: 我正在尝试上传CSV文件,对其进行处理以产生结果,然后写回(下载)包含结果的新CSV文件。我对Flask非常陌生,无法获得“合适的” 对象进行迭代和处理。这是到目前为止的代码, 终端输出为 而我读的文件是 我在重复csv.reader对象时没有得到代表2行的2个列表,这是我做错了什么? 问题答案: 因此你的脚本存在一个主要问题,如此处所述,它需要一个文件对象或至少一个支持迭代器协议的对