Здание Apache Ftp Server In Android. Это всегда листинг режиссера. Нужно сделать html страницу из Активов - PullRequest
0 голосов
/ 16 апреля 2020

Я создал FTP-сервер в приложении android, используя https://mina.apache.org/ftpserver-project/documentation.html. Мне нужно отобразить страницу html из Активов в качестве домашней страницы. Но это всегда список каталога.

 connectionConfigFactory.isAnonymousLoginEnabled = true
    connectionConfigFactory.maxLogins = 1
    connectionConfigFactory.maxThreads = 1
    ftpServerFactory.connectionConfig = connectionConfigFactory.createConnectionConfig()
    ftpServer = ftpServerFactory.createServer()
    listenerFactory.setPort(2121)
    ftpServerFactory.addListener("default", listenerFactory.createListener())
    ftpServerFactory.ftplets.put(FTPLetImpl::class.java.getName(), FTPLetImpl())

    val files =
        File(Environment.getExternalStorageDirectory().path + "/users.properties")
    if (!files.exists()) {
        try {
            files.createNewFile()
        } catch (e: IOException) {
            e.printStackTrace()
        }
    }
    userManagerFactory.setFile(files)
    userManagerFactory.setPasswordEncryptor(SaltedPasswordEncryptor())
    val um: UserManager = userManagerFactory.createUserManager()
    val user = BaseUser()
    user.name = "anonymous"
    user.enabled = true
    val home =
        Environment.getExternalStorageDirectory().path + "/Test"
    user.homeDirectory = home

    val auths: MutableList<Authority> =
        ArrayList()
    val auth: Authority = WritePermission()
    val auth1: Authority = ConcurrentLoginPermission(MAX_CONCURRENT_LOGINS,MAX_CONCURRENT_LOGINS_PER_IP)
    val auth2: Authority = TransferRatePermission(Integer.MAX_VALUE, Integer.MAX_VALUE)
    auths.add(auth)
    auths.add(auth1)
    auths.add(auth2)
    user.authorities = auths

    try {
        ftpServerFactory.userManager.save(user)
    } catch (e1: FtpException) {
        e1.printStackTrace()
    }

Even though I set the user home directory as Html page. It gets downloaded in the browser & not rendering it

Даже если я установил домашний каталог пользователя как Html page. Загружается в браузер и не отображается

1 Ответ

1 голос
/ 16 апреля 2020

Это FTP-сервер. Поэтому, когда клиент FTP запрашивает список каталогов, он получает текстовую (в случае LIST) или даже структурированную (в случае MLSD) информацию о файлах в каталоге.

И это до FTP-клиент, как он отображает эту информацию для пользователя. Вы не можете это контролировать. Не имеет значения, что в вашем конкретном случае клиент FTP - это, прежде всего, веб-браузер. В этом контексте это не веб-браузер, а FTP-клиент.


Если вы хотите создать страницу HTML, вам нужно реализовать HTTP-сервер, а не FTP-сервер.

...