在我们公司,我们在Web应用程序中有解决方案,Web应用程序上的客户可以预先定义磁盘上文件的路径(即:c:/invoices/summary.txt)。
之后,通过Java Applet,我们将在定义的Web应用程序路径下读取文件并修改用户磁盘上的文件。
是 - 这里出现问题 - Java Applets。 Chrome不再支持它,它是一种传统/不安全的解决方案。我们正在寻找这个解决方案的替代品,它允许我们修改用户磁盘上的文件,并支持不同的浏览器/操作系统。
我们考虑了以下解决方案:
有没有人看到其他明智的解决方案值得尝试?
答案 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团队将解决维护单独应用程序的问题:)不幸的是,由于我们的业务领域,我们无法做到这一点,但它也看起来像处理问题一样有趣。
我希望这个答案将来会对某人有所帮助;)