【发布时间】:2010-10-18 21:55:33
【问题描述】:
我们的应用程序要求用户从他们的相机中选择一张照片。我在添加此功能时测试的相机都将在“我的电脑”中显示为驱动器号,因此加载和使用图像是一件很容易的事。一位同事给了我他的相机,而不是作为驱动器安装它会触发可怕的“扫描仪和相机向导”。我很高兴看到在“我的电脑”中有一个相机条目,实际上我能够浏览并从标准 OpenFileDialog 中选择文件。 - 太棒了!
除了当我尝试访问文件时,我收到“UnauthorizedAccessException”。经过调查,我发现它实际上是从这个位置加载文件: C:\Documents and Settings\sk\Local Settings\Temporary Internet Files\Content.IE5\AXY0DNE3
这到底是什么?! IE5.5??
从这里开始,事情一直在走下坡路。该位置显然是一个非常隐蔽的位置,我只能通过直接在资源管理器栏中输入路径来导航到该位置。然后我想我可以将文件复制到一个临时位置并从那里使用它。所以我这样做了,但我仍然无法使用该文件,抛出相同的异常: 访问路径“C:\Documents and Settings\sk\Local Settings\Temp\IMG_0005[1].jpg”被拒绝。
似乎权限设置与文件一起复制(有意义)。
作为一种解决方法,我已指示我的用户使用可怕的小向导,将文件复制到一个临时位置,然后从那里选择它们。我不喜欢这样,但我需要在今天部署此功能。有了一个解决方法,我现在想尽可能地尝试让它工作。理想情况下,我可以只使用该文件而不将其复制到其他位置等。我不明白为什么会抛出 UnauthorizedAccessException。
我希望有人遇到过类似的挑战,并且可以分享一些关于如何使用这些文件的技巧。我宁愿不走整个 WIA 路线,而是通过相机界面处理文件。
【问题讨论】: