Quantcast
Channel: power platform - ふらりのメモ書き
Viewing all articles
Browse latest Browse all 43

【Power Automate】保存したファイルが開けないときの対処方法

$
0
0


クラウドフローで、メールの添付ファイルをSharePointに保存したけど開けないやフォルダAのファイルをフォルダBにコピーしたけど開けないなどの時の対処方法です。

ファイルが開けない

例えば、こんなフローで添付ファイルを SharePointに保存したとします。
動的コンテンツから ファイルコンテンツ(contentBytes)を追加しています。

特に保存でエラーになっているわけでなく、フローが正常に終了したけどファイルを開くとエラーになるときがあります。

保存したファイル

そのファイルを開くと開けない。

ファイルコンテンツにはファイルの種類情報も必要

ファイル作成アクションのファイルコンテンツには ファイルコンテンツ(contentBytes)のほかに、コンテンツの種類(content-type)も必要です。
コンテンツの種類(content-type)がなくても保存はできたりするのですが、ファイルが開けない場合、どちらかがかけている場合が多いです。

ファイルコンテンツ(contentBytes)と、コンテンツの種類(content-type)の確認

まずは、取得したデータにファイルコンテンツ(contentBytes)と、コンテンツの種類(content-type)が存在するか確認しましょう。

今回の場合だと、新しいメールが届いたとき(V3)トリガーの出力値を確認します。 attachments の中に、ファイルコンテンツ(contentBytes)とコンテンツの種類(content-type)があるのが確認できました。
どちらか(または両方)が欠落していると、開けないファイルになる可能性があるので、どちらかがない場合はトリガーの設定値の確認や他のアクションで取得するなどを検討します。

ファイルコンテンツの手動での作成

ファイルコンテンツ(contentBytes)とコンテンツの種類(content-type)を含んだ、ファイルコンテンツを作成アクションで準備します。

こんな感じで作成します。

こんな感じ。

{
  "$content-type": @{item()?['contentType']},
  "$content": @{item()?['contentBytes']}
}

ファイル作成アクションのファイルコンテンツを変更

ファイル作成アクションのファイルコンテンツを 作成アクション の 出力 に変更します。

実行結果

実行してみます。

SharePointを開いてファイルを開きます。

無事、開けました。

さいごに

作成アクションで、ファイルコンテンツ(contentBytes)とコンテンツの種類(content-type) を含んだjsonを作成すれば開けないという問題は解消されました。
これでも開けない場合、ファイルコンテンツ(contentBytes)かコンテンツの種類(content-type) のどちらか(または両方)がそもそも含まれていない可能性があるので、ファイルを取得しているトリガーやアクションの設定値を確認してみましょう。

ちなみに、boxを保存したときに開けないファイルが作成された場合、同様の方法で回避できたので、クラウドストレージに保存する場合は、ファイルコンテンツ(contentBytes)とコンテンツの種類(content-type) を確認してみるといいかもしれません。


Viewing all articles
Browse latest Browse all 43

Trending Articles