Skip to main content
Participating Frequently
May 13, 2021 6:44 AM UTC
Answered

PhotoshopのJavaScriptでファイル容量を取得する方法を教えてください

PhotoshopのスクリプトをJavaScriptで記述しておりますが、
開いた画像のファイル容量を取得したく思います。

 

下記のように横サイズや縦サイズ、解像度を取得できたのですが、

ファイル容量はどのように書けば取得できますでしょうか。

また、容量はMbyteで取得したく考えております。


var docWidth = doc.width; //横サイズ
var docHeight = doc.height; //縦サイズ
var reso = doc.resolution; //解像度

 

ご存知の方いらっしゃいましたら、ご教示いただけますと幸いです。

よろしくお願いいたします。

This topic is closed to new replies. Start a new post to keep the conversation going.
Ten A
Ten ACorrect answer
Community Expert
May 17, 2021 10:57 PM UTC

@Yamonov さんのご指摘がありまして、Fileオブジェクトにはlengthプロパティがあるのでそれを参照すると良いようです。

よって……

var f = File.openDialog("");
alert(f.length);

で良いようです。 

7 replies

Ten A
Community Expert
Ten ACommunity ExpertCorrect answer
Community Expert
May 17, 2021 10:57 PM UTC

@Yamonov さんのご指摘がありまして、Fileオブジェクトにはlengthプロパティがあるのでそれを参照すると良いようです。

よって……

var f = File.openDialog("");
alert(f.length);

で良いようです。 

Translate
匿名SAuthor
Participating Frequently
May 18, 2021 12:13 AM UTC

ありがとうございます! かなりシンプルなコードでいけますね。

早速試してみます。

Translate
Ten A
Community Expert
Community Expert
May 17, 2021 6:20 AM UTC

非常に基本的なもので、エラー処理などは考慮していません。

FileオブジェクトをBINARYモードで開き1バイトずつフェッチしてカウントします。

var f = File.openDialog("Select Target File...");
f.encoding = 'BINARY';
var i = 0;
f.open("r");
while (!f.eof){f.readch();i++;}
f.close();
alert(i);

 

Translate
匿名SAuthor
Participating Frequently
May 17, 2021 7:31 AM UTC

ありがとうございます! 試してみます!

Translate
Ten A
Community Expert
Community Expert
May 13, 2021 8:32 AM UTC

ドキュメントプロパティには容量に関するものはありません。

何を知りたいかによって情報の取得手段が異なるのですが、保存ファイルの容量であれば、File自体をreadすれば容量は簡単に測れます。容量の大きいものはやりたく無いですけど…

Translate
匿名SAuthor
Participating Frequently
May 17, 2021 4:42 AM UTC

ご回答ありがとうございます。可能であればどのように記述すればよいかお教えいただけませんでしょうか。

Translate