我已将list.js
文件复制并粘贴到互联网上。它获取了一个文件列表。但是,我想过滤文件,以便返回的唯一文件是名称为index.html
的文件。我不熟悉Javascript和jQuery,但我意识到改变可能需要在前1-9行内发生。任何帮助都会很棒!
function getInfoFromS3Data(xml) {
var files = $.map(xml.find('Contents'), function(item) {
item = $(item);
return {
Key: item.find('Key').text(),
LastModified: item.find('LastModified').text(),
Size: bytesToHumanReadable(item.find('Size').text()),
Type: 'file'
}
});
var directories = $.map(xml.find('CommonPrefixes'), function(item) {
item = $(item);
return {
Key: item.find('Prefix').text(),
LastModified: '',
Size: '0',
Type: 'directory'
}
});
if ($(xml.find('IsTruncated')[0]).text() == 'true') {
var nextMarker = $(xml.find('NextMarker')[0]).text();
} else {
var nextMarker = null;
}
return {
files: files,
directories: directories,
prefix: $(xml.find('Prefix')[0]).text(),
nextMarker: encodeURIComponent(nextMarker)
}
}
答案 0 :(得分:1)
要实现此目的,您需要检查文件的名称(可能是示例中的Key
)与您需要的内容匹配并返回对象,如果没有,则需要null
以便跳过该文件。试试这个:
var files = $.map(xml.find('Contents'), function(item) {
var item = $(item);
if (item.find('Key').text().toLowerCase() !== 'index.html')
return null;
return {
Key: item.find('Key').text(),
LastModified: item.find('LastModified').text(),
Size: bytesToHumanReadable(item.find('Size').text()),
Type: 'file'
}
});