Ajax-файл не существует - PullRequest
0 голосов
/ 30 мая 2018

Я хочу переместить файл из одного каталога в другой.

Я получаю все файлы и размер каждого файла, но когда я проверяю, существует ли файл через ajax, всегда происходит ошибкарезультат.Я не слишком часто использовал ajax, но если я получаю всю необходимую информацию, почему я не могу переместить файлы?

Вот код, который я использую:

moveErrorFiles('C:/Users/romama/Desktop/HMI Versions/V 0.5/web/css');

function moveErrorFiles(fileDir){
    var fileSysObj, file, folder, fileCounter, currentFile;

    fileSysObj = new ActiveXObject("Scripting.FileSystemObject");
    folder = fileSysObj.GetFolder(fileDir);
    fileCounter = new Enumerator(folder.files);

    for (; !fileCounter.atEnd(); fileCounter.moveNext()) {
        currentFile = fileCounter.item();

        file = fileSysObj.GetFile(currentFile)
        checkFileExist(file, file.Size);
    }
}

function checkFileExist(fileToMove, size) {
    $.ajax({
        url: fileToMove,
        type: 'HEAD',
        contentType: 'image/png',
        dataType: 'text',
        cache: false,
        error: function() {
            console.log(fileToMove + "\nthis file doesn't exist... Size = " + size);
        },
        success: function() {
            console.log(fileToMove + '\nthis file exists... Size = ' + size);
        }
    });
}

ИВот вывод в консоли IE:

C:\Users\romama\Desktop\HMI Versions\V 0.5\web\css\style.css
this file doesn't exist... Size = 13823
C:\Users\romama\Desktop\HMI Versions\V 0.5\web\css\styleSmall.css
this file doesn't exist... Size = 13634

Ответы [ 2 ]

0 голосов
/ 30 мая 2018

Вы также можете проверить, существует ли файл или нет с помощью этой функции.Вам не нужно использовать AJAX Call.

    function UrlExists(url)
    {
        var http = new XMLHttpRequest();
        http.open('HEAD', url, false);
        http.send();
        return http.status!=404;
    }

Используйте эту функцию, если этот AJAX не является единственным требованием.

0 голосов
/ 30 мая 2018

Это противоречит правилам браузера.

Вы можете читать метаданные, но не сможете изменять / удалять файлы.

Как сказал Рич, это будет безопасностьизъян.

Представьте, что вы посещаете сайт www.goofup.com, просто чтобы узнать, что сайт удалил вашу операционную систему.

Вы, конечно, этого не захотите.

...