我目前正在开发一个Windows 8 winJS / AngularJS应用程序,我们想要制作一些存储在LocalState文件夹中的文件,以便将其权限更改为只读。这些文件是使用相机拍摄的图像,我们希望在保存图像后不鼓励更改图像。
任何想法都会很棒。我正在使用Windows.Storage.StorageFile.getFileFromPathAsync()来获取文件。
答案 0 :(得分:2)
您可以使用StorageFile.properties.retrievePropertiesAsync和savePropertiesAsync方法执行此操作。这是一段使文件成为只读的代码,我在Win32 API中定义了只读属性:
var key = "System.FileAttributes";
var FILE_ATTRIBUTES_READONLY = 1; //From the Win32 API
var file;
//Assign some StorageFile to the file variable
file.properties.retrievePropertiesAsync([key]).then(function (props) {
if (props) {
props[key] |= FILE_ATTRIBUTES_READONLY;
} else {
props = new Windows.Foundation.Collections.PropertySet();
props.insert(key, FILE_ATTRIBUTES_READONLY);
}
return file.properties.savePropertiesAsync(props);
}).done(function () {
//Any other action
});
你可以像Rob说的那样使用WinRT组件,但是没有必要。
我在免费电子书Programming Windows Store Apps with HTML, CSS, and JavaScript, Second Edition,第11章,从第592页开始,对文件属性进行了全面讨论。上面的代码直接来自第601页。