【问题标题】:Not able store docx,pdf,csv files in GridFs无法在 GridFs 中存储 docx、pdf、csv 文件
【发布时间】:2014-04-01 04:09:16
【问题描述】:

我正在使用 Php、MongoDb 和 GridFs 来存储和检索文件。它适用于图像,但我想存储带有 docx、pdf、csv 等扩展名的文件。这是我的代码:

$ext = $this->getFileExt($_FILES["news_attachment"]["name"]);
                switch ($ext) {
                    case 'pdf':
                        $mimeType = 'application/pdf';
                        break;
                    case 'doc':
                        $mimeType = 'application/msword';
                        break;
                    case 'docx':
                        $mimeType = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
                        break;
                    case 'xls':
                        $mimeType = 'application/vnd.ms-excel';
                        break;
                    case 'xlsx':
                        $mimeType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
                        break;
                    case 'ppt':
                        $mimeType = 'application/x-mspowerpoint';
                        break;
                    case 'pptx':
                        $mimeType = 'application/vnd.openxmlformats-officedocument.presentationml.presentation';
                        break;
                    case 'csv':
                        $mimeType = 'text/csv';
                        break;
                    case 'txt':
                        $mimeType = 'text/plain';
                        break;
                    default:
                    $mimeType='application/pdf';
                }
                $gridFs = $this->getGridFs();
                $fileData = array(
                    "filename" => microtime(true) . "." . $ext,
                    "contentType" => $mimeType);
                $_id = $gridFs->storeUpload("news_attachment", $fileData);

但我收到相同的错误消息 Message: error setting up file: 。我检查了文件大小是 78kb,$fileData 也可以。所以,我的问题是 - 还有什么可能导致这个错误?

【问题讨论】:

    标签: php mongodb gridfs


    【解决方案1】:

    您在尝试上传时不会提供相同的参数吗:

    $gridFs->storeUpload($_FILES["news_attachment"]["name"], 
    

    或者可能

    $gridFs->storeUpload($_FILES["news_attachment"]["tmp_name"], 
    

    【讨论】:

      【解决方案2】:

      我只需要添加检查错误if(!empty($_FILES["news_attachment"]) && $_FILES["news_attachment"]["error"] == 0){ save file}

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-12-24
        • 2021-06-17
        • 2021-09-25
        • 1970-01-01
        • 1970-01-01
        • 2014-05-11
        • 2013-10-27
        • 1970-01-01
        相关资源
        最近更新 更多