预定义文件上传到Web应用程序(通过HTML或不同的解决方案)

时间:2015-07-02 08:56:24

标签: java html5 web applet webdav

在我们公司,我们在Web应用程序中有解决方案,Web应用程序上的客户可以预先定义磁盘上文件的路径(即:c:/invoices/summary.txt)。

之后,通过Java Applet,我们将在定义的Web应用程序路径下读取文件并修改用户磁盘上的文件。

是 - 这里出现问题 - Java Applets。 Chrome不再支持它,它是一种传统/不安全的解决方案。我们正在寻找这个解决方案的替代品,它允许我们修改用户磁盘上的文件,并支持不同的浏览器/操作系统。

我们考虑了以下解决方案:

  • 用于操作系统的专用外部应用程序,它将定义的文件上传到我们的系统(如Dropbox),但问题是我们必须为各种操作系统开发应用程序并支持它 - 大量工作
  • WebDav API和解决方案,客户从Web应用程序下载脚本并运行它,脚本将文件上传到服务器 - 问题是脚本可能容易出错
  • HTML 5解决方案 - 我们考虑过但我们希望实现用户仅定义路径一次
  • 的情况

有没有人看到其他明智的解决方案值得尝试?

2 个答案:

答案 0 :(得分:0)

您可以考虑使用 Microsoft Silverlight 代替Java小程序。它具有对本地文件系统的读写访问权限(仅限受信任的文件系统)。您可以在Visual Studio中创建silverlight应用程序,它既可以作为本地应用程序运行,也可以作为Web小程序运行。

C# (Silverlight 4)中编写文件的简单代码是

public void WriteFile(object sender, RoutedEventArgs event) {
    string path = System.IO.Path.Combine(Environment.GetFolerPath(Environment.SpecialFolder.MyDocuments), "TextFile.txt");

    /// or

    string other_path = "C:/invoices/summary.txt";

    StreamWriter writer;
    if (!File.Exists(path))
        writer = File.CreateText(path);

    writer.Write("Some text to write");
    writer.Close();
}

您可以阅读有关使用silverlight创建受信任应用程序的更多信息。

答案 1 :(得分:0)

我会尽力回答我自己的问题。最后,作为一个团队,我们决定使用WebDAV HTTP协议扩展。我们希望避免为各种系统(成本)开发单独的应用程序,我们需要可以快速替换Java Applet的解决方案。

首次测试QA后,我不得不说WebDAV解决方案正常。也许客户端的脚本不是最优雅的解决方案,但它没有更大的问题(在客户端运行脚本之后他/她可以在浏览器上观察状态)。

我还可以建议任何需要单独应用程序的人都可以考虑允许在Dropbox目录中写/读文件的Dropbox API。 Dropbox团队将解决维护单独应用程序的问题:)不幸的是,由于我们的业务领域,我们无法做到这一点,但它也看起来像处理问题一样有趣。

我希望这个答案将来会对某人有所帮助;)