我已经建立了一个HTML Web表单来上传文件。从iOS设备访问时,当选择“浏览”按钮从iOS文件浏览器中选择文件时,非图像文件(.pdf,.docx等)显示为灰色。
我有一个功能齐全的页面(HTML,CSS,JS,PHP),但是我将整个页面剥离为最简单的表单元素来测试功能。这是在运行iOS 12.3的设备上查看时在我的服务器上不起作用的代码示例(这是HTML文件中除了模板标记之外的所有内容):
<form action="" enctype="multipart/form-data" method="post">
<input type="file" accept="image/*, .heic, .hevc, .heif, .pdf, .png, .gif, .jpg, .jpeg, .doc, .docx, image/png, image/jpg, image/jpeg, image/gif, application/msword, application/pdf" multiple>
</form>
Run Code Online (Sandbox Code Playgroud)
你可以看到一个类似的简单工作非图像文件是可选择的例子来自iOS设备与W3School的“实战”的编辑之一:
https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_input_type_file
在iOS上使用表单时,某种原因导致W3School和其他站点的服务器的行为与我的不同。
在iOS上决定哪些网站/表单能够选择非图像文件进行上传的因素是什么?
我正在使用 Dropzone.js 获取各种类型的文件(包括图像和非图像,如 PDF),并将它们以 1mb 块的形式上传到我们的服务器。然后我尝试用 PHP 连接文件,然后将它们上传到我们公司的 FileMaker 数据库。
到目前为止,我已经能够像他们应该的那样将文件分块上传。我将它们全部存储在具有相同“代号”的临时“上传”文件夹中,并在每个名称的末尾附加“-INDEX#”(INDEX# 是正在上传的块 #,由 Dropzone 传递)。
我已经将失败隔离到 PHP 循环遍历已经上传的块以获取内容的部分。具体来说,当我去获取内容时,我尝试使用 PHP 的“realpath”将块的文件路径保存到一个变量中,以获取绝对路径,并作为文件存在的真/假检查。毫无疑问,PHP 无法“看到”该文件。
我不是文件夹权限方面的专家,因此很有可能与此有关,而我只是不知道如何处理它。您会看到我确实在 PHP 顶部的 uploads/ 目录中尝试了 chmod。
我只包含了下面的 PHP 代码,没有包含任何 javascript。我不确定 JS 是否相关,因为它显然与实际的块上传工作得很好。
下面的 PHP 文件与块要结束的uploads/ 文件夹位于同一目录中。
<?php
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
/* ========================================
VARIABLES
======================================== */
// chunk variables
$fileId = $_POST['dzuuid'];
$chunkIndex = $_POST['dzchunkindex'] + 1;
$chunkTotal = $_POST['dztotalchunkcount'];
// file path variables
$ds = DIRECTORY_SEPARATOR;
$targetPath = dirname( __FILE__ ) …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建背景变化的主页。现在,我已对其进行了设置,以使主体本身保留背景图像,并且我只希望一个图像淡出到下一个图像,然后循环到起点。
我的第一个问题:它不起作用。期。我的第二个问题:如果确实有效,它可能会立即过渡到下一个,然后延迟间隔时间...我该如何防止呢?
以下是我的代码,该代码位于html文档上标签的底部:
$(window).load(function() {
var current_scene = 0;
setInterval(function() {
if (current_scene == 0) {
var current_scene = 1;
$(body).animate({
backgroundImage: 'url(...)'
},400);
} else if (current_scene == 1) {
var current_scene = 2;
$(body).animate({
backgroundImage: 'url(...)'
},400);
} else {
var current_scene = 0;
$(body).animate({
backgroundImage: 'url(...)'
},400);
}
}, 3000);
});
Run Code Online (Sandbox Code Playgroud)
提前致谢!
file-upload ×2
jquery ×2
background ×1
chunking ×1
dropzone.js ×1
fade ×1
forms ×1
html ×1
image ×1
ios ×1
mobile ×1
php ×1