Как создать/инициализировать файловый объект, используя путь к файлу html5

есть много примеров чтения локальных файлов с использованием html5, но, выбрав из списка файлов, моя проблема в том, что я хочу создать файл файл вручную, подумайте, что у меня есть файл со ссылкой

file:///G:/Users/txt.txt

Я хочу, чтобы браузер открыл его,

Я думаю, что он должен иметь файл f=new File('file:///G:/Users/txt.txt');

Мой вопрос в том, как создать/инициализировать файл-объект, используя путь к файлу?!

Ответ 1

Невозможно создать файл без разрешения пользователя. Необходимо нажать кнопку или что-то еще. Вам нужно будет создать данные: uri, чтобы сохранить их. Вы можете найти дополнительную информацию с помощью веб-поиска или проверить http://en.wikipedia.org/wiki/Data_URI_scheme (не полный источник, но можете показать, что возможно). Это очень ограничено в зависимости от телефона и ОС. URI данных ограничены при использовании IE.

Когда он запускается для загрузки, он сохраняет его по умолчанию или указанному пользователю. Вы также можете ознакомиться с API-интерфейсами, зависящими от поставщика/ОС, которые могут выполнять, как вы описываете. Но, возможно, потребуется проверить разрешения до фактического разрешения доступа.

Ответ 2

Я использовал ниже обходной путь, так как File наследует интерфейс blob.....

var getFileBlob = function (url, cb) {
        var xhr = new XMLHttpRequest();
        xhr.open("GET", url);
        xhr.responseType = "blob";
        xhr.addEventListener('load', function() {
            cb(xhr.response);
        });
        xhr.send();
};

var blobToFile = function (blob, name) {
        blob.lastModifiedDate = new Date();
        blob.name = name;
        return blob;
};

var getFileObject = function(filePathOrUrl, cb) {
       getFileBlob(filePathOrUrl, function (blob) {
          cb(blobToFile(blob, 'test.jpg'));
       });
};

getFileObject('img/test.jpg', function (fileObject) {
     console.log(fileObject);
});