1. I use the upload component of vue-element to upload files, and the back end is php to receive files. It can be obtained normally on the computer browser, but in the mobile Wechat browser environment, the $_ FILES ["name"] obtained by the back end is a number, not the original name of the file. And the content-type of the header header is octet-stream
on the computer:
{"file":{"name":"223777351740402882.zip","type":"application\/zip","tmp_name":"\/tmp\/phpRpFMhW","error":0,"size":18920}}
WeChat end:
{"file":{"name":"931649","type":"application\/octet-stream","tmp_name":"\/tmp\/php93BlWy","error":0,"size":18920}}
html Code:
<el-upload class="upload-demo" action="__APP__/purchase1/uploadAnnex" :on-remove="handleRemove" multiple :data="{index: index}" :file-list="item.fileList" :on-success="annexSuccess" :before-upload="beforeUpload">
<el-button size="small" type="primary"></el-button>
</el-upload>
php Code
$result = array();
if($_FILES["file"]["size"])
{
$newName = uniqid() . "." . $this->getExtension($_FILES["file"]["name"]);
move_uploaded_file($_FILES["file"]["tmp_name"], C("UPLOAD_DIR") . "purchase/" . $newName);
if(file_exists(C("UPLOAD_DIR") . "purchase/" . $name))
{
$result["status"] = "success";
$result["index"] = $_REQUEST["index"];
$result["info"] = C("MY_DOMAIN") . C("UPLOAD_DIR") . "purchase/" . $newName;
$result["name"] = $newName;
}
else
{
$result["status"] = "error";
$result["info"] = "";
}
}
else
{
$result["status"] = "error";
$result["info"] = "";
}
print_r(json_encode($result));