我有一个上传者
JS Part:
function uploadData(data){
var xhr = new XMLHttpRequest();
var fData = new FormData();
for (var k1 in requestData)
if (requestData.hasOwnProperty(k1))
fData.append(k1, requestData[k1]);
xhr.open("POST", "ajax/upload", true);
xhr.send(fData);
}
PHP部分:
$fileContent = file_get_contents($_FILES['file']['tmp_name']);
file_put_contents(FILES_PATH."/".$_POST['name'], $fileContent);
我在html上也有一个表单。点击上传按钮后:
var file = document.getElementById('files').files[0];
var ext = file.name.split(".").pop();
var name = getRandomString(5) + "." + ext;
uploadData({"file": file, "name": name});
它适用于所有文件(我测试过png,jpg,pdf,doc ... mp3),但它不适用于.DMG扩展名。我测试了一切。在xhr我用了一个控制台,我看到该文件存在。当我尝试查看$_POST
,$_REQUEST
或$_FILES
内容时,我没有看到我的.dmg文件..