Подписание кувшина, вызывающего проблему - PullRequest
0 голосов
/ 17 января 2011

У меня есть следующий код в апплете, который в основном записывает некоторые данные в файл, передаваемый в качестве параметра методу writeFile ()

public class appletToWrite extends Applet{
public int writeFile(String asPath, String asData, int aiOverwrite)
{
    int j = JOptionPane.showConfirmDialog(null,asPath+ "testing gng on", "data mil gaya!!!", 0);
    try {
        File localFile = new File(asPath);
        if (localFile.exists()) {
            if(aiOverwrite==1){
                localFile.delete();
                j =JOptionPane.showConfirmDialog(null,"overwrite = 1", "data mil gaya!!!", 0);
            }
            else{
                j = JOptionPane.showConfirmDialog(null, "overwrite = 0", "data mil gaya!!!", 0);
                return 0;
            }
        }
        j = JOptionPane.showConfirmDialog(null, "niche aa gaye", "data mil gaya!!!", 0);
        localFile.createNewFile();
        BufferedWriter localBufferedWriter = new BufferedWriter(new FileWriter(localFile, true));
        String str1;
        localBufferedWriter.write(asData);
        localBufferedWriter.close();
        return 1;
    }
    catch (Exception localException) {
        j = JOptionPane.showConfirmDialog(null, "catch mein aa gaya "+localException.getMessage(), "data nahi gaya!!!", 0);
        localException.printStackTrace();
        return 0;
    }
}
}

Я сам подписал банку, используя следующие команды

javac appletToWrite.java
jar cvf AppletClass.jar *.class
keytool -genkey -validity 3650 -keystore pKeyStore -alias formBuilder
keytool -selfcert -keystore pKeyStore -alias formBuilder -validity 3650
jarsigner -keystore pKeyStore AppletClass.jar formBuilder

но все еще не получено все разрешение на запись файла на локальный компьютер. Получаю разрешение на файл, отказано в какой-либо идее, почему?

Ответы [ 3 ]

0 голосов
/ 18 января 2011

Если оба условия верны - я бы предложил совершенно другой подход.

  • Файл Сервис (песочница) демо работает для вашего варианта использования.
  • пользователь можно ожидать, что будет работать Java 1.6.0_10 + (плагин нового поколения).

Связанная демка. (написано мной) находится в песочнице, и только когда пользователь идет открывать файл, JRE спрашивает их, хотят ли они дать ему разрешение.

Код с песочницей не обязательно должен иметь цифровую подпись.

Начиная с плагина нового поколения, JNLP API используется в демоверсии. могут быть доступны с помощью апплетов, встроенных в веб-страницу. Пример этого можно увидеть в апплете GIFanim .

0 голосов
/ 18 января 2011

спасибо за полученные ответы. Myslef На самом деле, в апплете разрешены разрешения, только вызов из внешнего мира не позволяет мне получить разрешения.Я звонил из javascript и тоже надеялся получить разрешения

0 голосов
/ 17 января 2011

Проблема может быть подписана, апплет НЕ имеет доступа ко всему. Зависит от настройки вашего JRE браузера. Настройка по умолчанию определяется в JRE (найдите файл свойств в папке JRE - один из них определяет его) Но браузеры могут переопределить это.

Попробуйте создать файл в домашней папке пользователя.

...