Кордова доступ к файлам под www - PullRequest
0 голосов
/ 05 декабря 2018

Я пытаюсь прочитать и вернуть файлы с www для использования в веб-сервере (это открыть файлы cordova через другой веб-браузер для использования в VR) https://github.com/bykof/cordova-plugin-webserver

Я пробовал различныекомбинации с каталогом приложения, но то, что я по сути пытаюсь сделать, это что-то вроде

  window.webserver.start(8080)
  window.webserver.onRequest(request => {
    if(request.path === '/')
      returnFile('app/index.html', request.requestId)
    else if(request.path.indexOf('static') > -1) {
      returnFile(request.path.replace('/static','app/static'),  request.requestId) 
    }
  })
})
}

function returnFile(file, requestId){

window.resolveLocalFileSystemURL(
window.cordova.file.applicationDirectory + 'www/' + file, fileEntry => 
  fileEntry.file(file => {
    window.webserver.sendResponse(
      requestId,
      {
        path: fileEntry.nativeURL,
        type:file.type,
      }
    )
  })
 )
}

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

Как получить путь к файлу, к которому может получить доступ часть Java плагина?

Есть идеи, как это сделать?

РЕДАКТИРОВАТЬ

Этот вид работает

  window.resolveLocalFileSystemURL(
    window.cordova.file.applicationDirectory + 'www/' + file, fileEntry => 
      fileEntry.file(file => {
        const reader = new FileReader()

        reader.onloadend = function(e) {
          window.webserver.sendResponse(
            requestId,
            {
              status: 200,
              body: this.result,
              headers: {
                'Content-Type': file.type,
              },
            }
          )
        }
        reader.readAsText(file)
      })
  )

Но изо всех сил пытается отправить большие файлы JavaScript.Любой способ прочитать их и отправить файлы в виде данных, чтобы браузер прочитал их?

...