联系官方销售客服

1835022288

028-61286886

求助 版主:官方研发技术组
文件接口上传问题
类型:迅睿CMS 更新时间:2021-10-30 15:48:29

请教个文件接口上传问题,

下边这个代码是教程里的,

png和txt都可以上传成功,但是doc和pdf无法上传,且没有任何返回值。

哪怕我在对应的接口打上直接回传,也没有任何反馈。

    public function upload() {

        exit("error");

        // 验证上传权限

        $this->_check_upload_auth();

<?php

// 这是上传接口示例文件
// 将url变量参数改成你自己网站的参数
// 访问地址 /sc/upload.php 文件


// 接口的地址
$url = "https://www.acgnme.com/index.php?appid=1&appsecret=PHPCMFBE6FEA7FE7AD3&api_auth_code=14649082d40a176d42d9870927d66dce&api_auth_uid=7&s=api&c=file&m=upload&fid=97&siteid=1";

// 文件的绝对路径
$file = dirname(__FILE__).'/logo.png';
//$file="C:\www\ythh_21\static/projectAlppySource/2019/11/2508/基于风云卫808.pdf";

// 创建一个 cURL 句柄
$ch = curl_init($url);

// 创建一个 CURLFile 对象
$cfile = curl_file_create($file,'image/png',basename($file));
// $cfile = curl_file_create($file,'application/pdf',basename($file));

// 设置 POST 数据
$data = array('file_data' => $cfile);

if (substr($url, 0, 8) == "https://") {
 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true); // 从证书中检查SSL加密算法是否存在
}
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

// 执行句柄
$output = curl_exec($ch);

if ( curl_errno($ch)) {
    echo '提交失败:'.curl_error($ch).'<hr>';
 }

var_dump($output);

只需要能上传doc和pdf就行,不知道是哪里出了问题.请喝可乐!

回帖
  • 官方研发技术-张锋
    #1楼    官方研发技术-张锋
    2021-06-19 18:32:06
    Chrome 0
    png和txt都可以上传成功说明接口是通畅通的,我怀疑是文件扩展名类型哪里没设置好,
  • 杰少
    #2楼    杰少
    2021-06-19 18:35:10
    Chrome 0
    curl_file_create 需要制定pdf啊
  • GoWorkRoom
    #3楼    GoWorkRoom
    2021-06-19 18:36:58
    Chrome 0
    $cfile = curl_file_create($file,'application/pdf',basename($file));
    这样写没有问题,检查是不是文件太大了,php.ini 配置没有开启大参数
  • 咸鱼项目经
    #4楼    咸鱼项目经
    2021-06-19 18:43:54
    Chrome 0
    这个方法试过了,但是无效,连反馈值也没有。不是大小问题。txt和img都可以通过,就是想要上传的doc pdf zip不可以GoWorkRoom
  • 云畔设计
    #5楼    云畔设计
    2021-06-19 18:46:55
    Chrome 0
    可能是对方服务器拒绝了,比如mimetype拒绝
    满意答案
  • 咸鱼项目经
    #6楼    咸鱼项目经
    2021-10-30 15:48:29
    Chrome 0
    @云畔设计:忘了是怎么解决的,需要把问题完结