ode*_*dta 11 javascript php jquery android
我创建了一个多文件上传表单(参考)的一个非常基本的例子,它在桌面上工作得很好,但在移动设备上却不是,至少我测试的是.
On Mobile(小米Mi4 [Android版:6.1] - 谷歌浏览器/ Mozilla Firefox):当我点击选择文件时,我看到这个屏幕:


如果我选择Google相册并选择多个文件,则只会将第一个文件插入到表单中.如果我选择Gallery(本机)应用程序并选择多个文件,我会在表单上获得正确的数字,但是当我点击上传时,我会看到"Aw Snap"屏幕:
知道为什么会这样吗?
除了谷歌照片和原生应用程序,我尝试了5个不同的应用程序,最后一个,Piktures实际上工作!
请告诉我这不是应用程序的东西......有没有办法正确获取文件?
附加代码:
<form method="post" enctype="multipart/form-data">
<input type="file" name="my_file[]" multiple>
<input type="submit" value="Upload">
</form>
<?php
if (isset($_FILES['my_file'])) {
$myFile = $_FILES['my_file'];
$fileCount = count($myFile["name"]);
for ($i = 0; $i < $fileCount; $i++) {
?>
<p>File #<?= $i+1 ?>:</p>
<p>
Name: <?= $myFile["name"][$i] ?><br>
Temporary file: <?= $myFile["tmp_name"][$i] ?><br>
Type: <?= $myFile["type"][$i] ?><br>
Size: <?= $myFile["size"][$i] ?><br>
Error: <?= $myFile["error"][$i] ?><br>
</p>
<?php
}
}
?>
Run Code Online (Sandbox Code Playgroud)
如果您想测试:http://odedta.com/projects/jqueryfileupload/
谢谢!
试试这可能会对你有所帮助,这只是js文件上传的前端部分
window.onload = function() {
if (window.File && window.FileList && window.FileReader) {
var filesInput = document.getElementById("uploadImage");
filesInput.addEventListener("change", function(event) {
var files = event.target.files;
var output = document.getElementById("result");
for (var i = 0; i < files.length; i++) {
var file = files[i];
if (!file.type.match('image'))
continue;
var picReader = new FileReader();
picReader.addEventListener("load", function(event) {
var picFile = event.target;
var div = document.createElement("div");
div.innerHTML = "<img class='thumbnail' src='" + picFile.result + "'" +
"title='" + picFile.name + "'/>";
output.insertBefore(div, null);
});
picReader.readAsDataURL(file);
}
});
}
}Run Code Online (Sandbox Code Playgroud)
<input type="file" id="uploadImage" name="termek_file" class="file_input" multiple/>
<div id="result" class="uploadPreview">Run Code Online (Sandbox Code Playgroud)