Javascript winjs图片文件大小
我正在尝试从Win 8应用程序中的图片中获取大小(像素、比特数)。我用openPicker拾取文件,然后得到文件。但是我找不到尺寸属性? 如果文件太大,我将显示一个错误。 你知道我怎样才能得到这些信息吗?Javascript winjs图片文件大小,javascript,windows,winjs,Javascript,Windows,Winjs,我正在尝试从Win 8应用程序中的图片中获取大小(像素、比特数)。我用openPicker拾取文件,然后得到文件。但是我找不到尺寸属性? 如果文件太大,我将显示一个错误。 你知道我怎样才能得到这些信息吗? 谢谢。经过几个小时的搜索和尝试,我解决了这个问题: //add picture document.getElementById("btnAddImg").addEventListener('click', function () { // Create
谢谢。经过几个小时的搜索和尝试,我解决了这个问题:
//add picture
document.getElementById("btnAddImg").addEventListener('click', function () {
// Create the picker object and set options
var openPicker = new Windows.Storage.Pickers.FileOpenPicker();
openPicker.viewMode = Windows.Storage.Pickers.PickerViewMode.thumbnail;
openPicker.suggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.picturesLibrary;
openPicker.fileTypeFilter.replaceAll([".png", ".jpg", ".jpeg"]);
openPicker.pickSingleFileAsync().then(function (file) {
file.openAsync(Windows.Storage.FileAccessMode.read).done(function (stream) {
var fileType = file.contentType;
var blob = MSApp.createBlobFromRandomAccessStream(fileType, stream);
var fdata = new FormData();
fdata.append('upload_field', blob);
//more code....
});
});
});
希望它能帮助其他人。您可以通过StorageFile对象本身获取此信息,而无需打开文件或将其加载到内存中 为了方便起见,假设myFile是所讨论的StorageFile 对于图像尺寸,调用,其结果是一个包含宽度和高度属性的对象。您可以在场景1中找到检索ImageProperties的示例
有关文件大小,请调用。结果是一个size属性具有该值的对象。您具体从哪里获取它们?您需要打开该文件并将其转换为图像以获取宽度和高度。我使用文件选择器从本地存储获取该文件。您不需要为此打开该文件--请参阅下面的完整答案。宽度、高度和大小(以及缩略图等)都可以通过StorageFile对象作为元数据提供。为此目的加载整个文件只会导致大量不必要的内存开销。