アップロードされたファイルの種類を確認する方法

アップロードされたファイルの種類を確認する方法

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

要件

ファイルアップロード項目では、PDF、XLS、XLSX のファイル形式のみアップロードできるようにします。その他のファイル形式が検出された場合は、警告メッセージを表示します。

利用例

レストランアプリには、仕入先の領収書をファイルとして保存するフォームがあります。管理者が PDF、XLS、XLSX 以外の形式の領収書をアップロードした場合、警告が表示され、フォームの送信が制限されます。
 

手順

1. フォームを作成 し、次の詳細を設定します。
フォーム
フォームリンク名
項目タイプ
項目リンク名
項目名
請求書アップロード
Upload_Invoice
ファイルアップロード
請求書
請求書
 
2. フォームワークフローを作成 し、次の詳細を設定します。

このワークフローは、管理者が 請求書アップロード フォームで請求書をアップロードしたときに実行される必要があるため、 フォームイベント として「項目のユーザー入力」を選択します。
 
3. 次の Deluge スクリプトを Deluge エディターに保存します。
  1. //許可する拡張子の一覧を allowed_list に代入します
  2. // 必要な拡張子をこのリストに含める/除外します
  3. allowed_list = {'pdf','xls','xlsx'};
  4. // 入力項目が空でない場合のみ検証を実行します
  5. if(input。請求書 != '')
  6. {
  7. // アップロードされたファイルの拡張子を取得します
  8. ext = input。請求書。toList('.').取得する(input。請求書。toList('.').size() - 1);
  9. // アップロードされたファイルの拡張子が allowed_list のいずれの値とも一致しない場合、警告メッセージを表示します。
  10. if(!allowed_list。contains(ext))
  11. {
  12. 注意 'This ファイルの種類 が次の値と等しくない 承認済み';
  13. }
  14. }
4. ワークフローを作成 し、次の詳細を設定します。

無効な値がフォームに入力された場合にフォームが送信されないように制限するには、送信前にも同じ検証を実行する必要があります。そのため、 フォームイベント として「フォーム送信時の検証」を選択します。
 
5. 手順 3 の検証を繰り返し、 フォームが送信されないように制限します (無効な種類のファイルがアップロードされた場合)。
allowed_list = {'pdf','xls','xlsx'};
  1. if(input。請求書 != '')
  2. {
  3. ext = input。請求書。toList('.').取得する(input。請求書。toList('.').size() - 1);
  4. if(!allowed_list。contains(ext))
  5. {
  6. 注意 'このファイル形式は許可された値と一致しません';
  7.  
  8. // フォームが送信されないように制限します
  9. キャンセルする 送信する;
  10. }
  11. }

動作を確認する

注意点

  • このチュートリアルでは、ファイルアップロード項目タイプでの使用例を説明しています。同じスニペットは、 音声 および 動画 項目タイプにも使用できます。
  • ほかのファイル形式の項目と異なり、画像項目に対して input キーワードを適用しても、ファイル名は直接返されません。
  1. info Input。画像;
次の HTML 形式でファイルパスを返します:
<img src = ' https://creatorexport.zoho.com/sharedBy/appLinkName/viewLinkName/fieldName/image/1624276872234_SamplePNGImage_100kbmb.png' lowqual = ' https://creatorexport.zoho.com/sharedBy/appLinkName/viewLinkName/fieldName/image/1624276872234_710' medqual = ' https://creatorexport.zoho.com/sharedBy/appLinkName/viewLinkName/fieldName/image/1624276872234_710' downqual = ' https://creatorexport.zoho.com/sharedBy/appLinkName/viewLinkName/fieldName/image/1624276872234_SamplePNGImage_100kbmb.png' border = '0'></img>
返された値からファイル拡張子を取得するには、次のスニペットを使用します:
  1. src = input。画像。executeXPath('/img/@src').executeXpath('/src/text()');
  2. // src 属性に格納されている値を取得します
  3. ext = src。toList('.').取得する(src。toList('.').size() - 1);
  4. // ファイルパスからファイルの拡張子を取得します