我试图使用jQuery文件上传器,但我遇到了麻烦。我从这里下载了插件:
https://github.com/blueimp/jQuery-File-Upload
并通过了文档。我已经在我自己的子目录中运行了我的网站上的插件,但现在我想在我自己的页面上使用该功能而且我遇到了问题。
当我导航到子目录中的插件页面时,everthing正常工作,但是当我复制代码的元素并将其部署到我自己的页面时出现问题。具体来说,在插件页面上,缩略图都显示正常,即使在我自己的服务器上 - 但是,当我在我的页面上使用它时,拇指没有正确上传。
我注意到当插件中的页面加载时,会对/ server / php文件夹进行GET调用,该文件夹包含保存插件类的文件,但在我的页面上同一个调用不会跑。
我有网页,万一有人可以提供帮助:
正在运作的是:
http://54.187.7.151/jQfileUpload/index.html
和那个不在的人:
http://54.187.7.151/div.php
在文件结构方面,我从jQuery(/ jQfileUpload / server / php)调用插件中的处理程序脚本来自' div.php'和/jQfileUpload/index.html中的(/ server / php),因为它位于同一个文件夹中。
这整个下午一直在杀我!有人可以帮忙吗?
http://54.187.7.151/jQfileUpload/index.html
的JQuery(这与div.php之间的唯一区别是处理程序脚本的路径:
$(function () {
'use strict';
// Change this to the location of your server-side upload handler:
var url = window.location.hostname === 'blueimp.github.io' ?
'//jquery-file-upload.appspot.com/' : 'server/php/',
uploadButton = $('<button/>')
.addClass('btn btn-primary')
.prop('disabled', true)
.text('Processing...')
.on('click', function () {
var $this = $(this),
data = $this.data();
$this
.off('click')
.text('Abort')
.on('click', function () {
$this.remove();
data.abort();
});
data.submit().always(function () {
$this.remove();
});
});
$('#fileupload').fileupload({
url: url,
dataType: 'json',
autoUpload: false,
acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
maxFileSize: 5000000, // 5 MB
// Enable image resizing, except for Android and Opera,
// which actually support image resizing, but fail to
// send Blob objects via XHR requests:
disableImageResize: /Android(?!.*Chrome)|Opera/
.test(window.navigator.userAgent),
previewMaxWidth: 100,
previewMaxHeight: 100,
previewCrop: true
}).on('fileuploadadd', function (e, data) {
data.context = $('<div/>').appendTo('#files');
$.each(data.files, function (index, file) {
var node = $('<p/>')
.append($('<span/>').text(file.name));
if (!index) {
node
.append('<br>')
.append(uploadButton.clone(true).data(data));
}
node.appendTo(data.context);
});
}).on('fileuploadprocessalways', function (e, data) {
var index = data.index,
file = data.files[index],
node = $(data.context.children()[index]);
if (file.preview) {
node
.prepend('<br>')
.prepend(file.preview);
}
if (file.error) {
node
.append('<br>')
.append($('<span class="text-danger"/>').text(file.error));
}
if (index + 1 === data.files.length) {
data.context.find('button')
.text('Upload')
.prop('disabled', !!data.files.error);
}
}).on('fileuploadprogressall', function (e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
$('#progress .progress-bar').css(
'width',
progress + '%'
);
}).on('fileuploaddone', function (e, data) {
$.each(data.result.files, function (index, file) {
if (file.url) {
var link = $('<a>')
.attr('target', '_blank')
.prop('href', file.url);
$(data.context.children()[index])
.wrap(link);
} else if (file.error) {
var error = $('<span class="text-danger"/>').text(file.error);
$(data.context.children()[index])
.append('<br>')
.append(error);
}
});
}).on('fileuploadfail', function (e, data) {
$.each(data.files, function (index) {
var error = $('<span class="text-danger"/>').text('File upload failed.');
$(data.context.children()[index])
.append('<br>')
.append(error);
});
}).prop('disabled', !$.support.fileInput)
.parent().addClass($.support.fileInput ? undefined : 'disabled');
});