繁体   English   中英

如何在php中修改上传文件的内容类型?

[英]How can I modify content type of uploaded file in php?

我想使用Image Upload API。 它通过POST接收图像文件,并向我发送我上传的图像的URI。 但该API发送错误如果Content-Type of image不是一种图像mime类型(例如image / jpeg,image / png,...)

但是当我通过FTP上传图像文件并使用CURL作为文件上传时,它会向我发送错误,因为该图像的Content-Type始终是'application / octet-stream'。 我想修改这个mime类型。 有没有办法修改这个?

这是代码:

<?php
$fileUploadPostParams = Array(
    "uploadedfile" => "@/files.jpg"
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://uix.kr/widget/parameter.php");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fileUploadPostParams);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
echo curl_exec($ch);
?>

这是结果:

...
===== file ===== 
Array
(
    [uploadedfile] => Array
        (
            [name] => 2312.jpg
            [type] => application/octet-stream
            ^^^^ I want to change here...
            [tmp_name] => /tmp/php5bigGV
            [error] => 0
            [size] => 383441
        )
)

抱歉英语不好..谢谢

您可以在参数中指定类型,如下所示:

$fileUploadPostParams = array(
    "uploadedfile" => "@/files.jpg;type=image/jpeg"
);

curl的手册页

-F接受-F“name = contents”之类的参数。 如果要从文件中读取内容,请使用<@filename>作为内容。 指定文件时,您还可以通过附加'; type ='来指定文件内容类型

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM