javascript - 用于将上传的文件名上传到 php 表单的 Js 不在一台服务器上工作但在另一台服务器上工作
问题描述
我有两个表单,它们将上传两个不同的 csv 文件并对它们执行一些查询。它在我的本地主机和测试站点中运行良好,但不能在客户端服务器中运行。表单是 php 和 html,我正在使用 js 获取上传的文件名
这是表单代码:
<form action="index.php" method="post" name="upload-form" id="upload-form">
<input type="hidden" value="" name="filelist" id="filelist" />
<div class="form-group">
<div class="panel panel-default" id="uploading-files-wrapper">
<div class="panel-heading">
<h3 class="panel-title">MLS Research Data</h3>
</div>
<div class="panel-body">
<span class="btn btn-success fileinput-button ">
<i class="glyphicon glyphicon-plus"></i>
<span>Select files...</span>
<input id="fileupload" class="fileupload" type="file" multiple="">
</span>
<br><br>
<div id="progress" class="progress upload-progress">
<div class="progress-bar progress-bar-warning" style="width: 0%;"></div>
</div>
</div>
</div>
<div class="panel panel-default" style="display: none;" id="uploaded-files-wrapper">
<div class="panel-heading">
<h3 class="panel-title">Uploaded files</h3>
</div>
<div class="panel-body">
<div id="uploaded_files" class="files"></div>
</div>
<div class="panel-footer clearfix">
<button type="submit" class="btn btn-success pull-right">
<span style="padding-right: 5px">Import uploaded data</span>
<i class="glyphicon glyphicon-alert"></i>
</button>
</div>
</div>
</div>
Pyramis Actives 数据 选择文件...
上传的文件 导入上传的数据
这是用于获取文件名并将其添加到表单输入的 js
$(function () {
var $filelist = [];
var $active_filelist = [];
$('#fileupload').fileupload({
url: 'upload.php',
dataType: 'json',
add: function (e, data) {
$('#fileupload').prop('disabled', true);
$('#fileupload.fileinput-button').addClass('disabled');
data.submit();
},
done: function (e, data) {
$.each(data.result.files, function (index, file) {
$filelist.push(file.url);
$('<p/>').text(file.name).appendTo('#uploaded_files');
});
},
progressall: function (e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
$('.upload-progress .progress-bar').css(
'width',
progress + '%'
);
}
}).prop('disabled', !$.support.fileInput)
.parent().addClass($.support.fileInput ? undefined : 'disabled')
.bind('fileuploadstop', function (e) {
var $_form = $('#fileupload').closest('form');
$('#uploading-files-wrapper').slideUp('fast');
$('#uploaded-files-wrapper').slideDown('fast');
$('#filelist').val(JSON.stringify($filelist));
$_form.append(
$('<input type="hidden" name="import_data" value="1" />')
);
});
$('#actives-form').on('submit', function () {
var $submit_button = $('#active-files-wrapper').find('button');
$submit_button.prop('disabled', true);
$submit_button.html('please wait...');
});
$('#actfileupload').fileupload({
url: 'upload.php',
dataType: 'json',
add: function (e, data) {
$('#actfileupload').prop('disabled', true);
$('.act-btn').addClass('disabled');
data.submit();
},
done: function (e, data) {
$.each(data.result.files, function (index, file) {
$active_filelist.push(file.url);
$('<p/>').text(file.name).appendTo('#actives_files');
});
},
progressall: function (e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
$('.act-prog .progress-bar').css(
'width',
progress + '%'
);
}
}).prop('disabled', !$.support.fileInput)
.parent().addClass($.support.fileInput ? undefined : 'disabled')
.bind('fileuploadstop', function (e) {
var $_form = $('#actfileupload').closest('form');
$('#actives-files-wrapper').slideUp('fast');
$('#active-files-wrapper').slideDown('fast');
$('#active_filelist').val(JSON.stringify($active_filelist));
$_form.append(
$('<input type="hidden" name="import_data" value="1" />')
);
});
});
此代码在我的本地主机和另一个测试站点中运行,但在我的客户端服务器中运行,我尝试了 3 天的多种方法,但没有发现错误,请帮助
解决方案
我发现了问题,客户端的服务器对上传文件夹“文件”进行了写保护。所以json文件没有上传,也没有文件被读取。对于所有可能面临同样问题的人
推荐阅读
- kendo-ui - kendo UI 模式模型 ID 是如何工作的?
- python - 从布尔排序矩阵
- sql - 如何合并一列的结果,然后分成两列
- rabbitmq - RabbitMQ:消息的循环分发与单队列的主题交换
- r - Pch 不绘制圆圈,只绘制线条
- python - Python:如何从矩阵/数据框中的前面的列中减去每 n 列?
- angular - Mat 表中的 Mat 异步排序,MatPaginator 不起作用,模板中异步分配的数据源
- hl7 - HL7 ORU 消息中的 ORC 和 OBR 通用元素之间是否存在差异?
- react-native - 我无法使用外部字体更改项目字体
- azure - 如何在 Cosmos DB 中查找重复文档