ファイルアップロード

  画像などのファイルをXCuteで取り扱うには、下記の方法でXCuteのWEB公開フォルダーc:\InetPub\procgi(バージョン番号)\profiles フォルダにファイルアップロードして、ファイル名をデータベースで管理します。
 下記が、ファイルアップロードのフォームとテキストボックスになります。 Excelの入力規則で入力値の種類に文字列を指定し、エラータイトルをfileと指定(Type属性がFile)したセルが参照ボタンが付いたファイル名入力フィールドになります。タグ差込位置のセルに、|Type=fileと記述しても同様です。

 この時のFormタグは下記のようにし、Hiddenタグで、P=ReadReport=を指定するほか、Updir=XXとします。Updirはファイルがアップロードされるサブフォルダー名です。UpDirが空白の時、procgi/profilesフォルダーへファイルはアップロードされます。

<FORM ENCTYPE='multipart/form-data' ACTION='procgi.exe' METHOD='POST'><Input Type='Hidden' Name='UpDir' Value=''>

 なお、アップロード可能なファイル名の長さはXCuteのキャラクターセット(ShiftJIS / UTF8)および、ファイル名モード(従来モード / ロングファイル名モード)により異なります。
 キャラクターセットは  proles.ini Charsetにて切り替えることが可能です。 
 ファイル名モードは  proles.ini LongFileNameにて切り替えることが可能です。 

○ファイル名モード従来モード時のアップロード可能なファイル名の長さ:
 キャラクターセット=ShiftJISモードの場合、全角31文字(+拡張子半角3文字)まで。 
 キャラクターセット=UTF8モードの場合、全角16文字(+拡張子半角文字)まで。

○ファイル名モードロングファイル名モード時のアップロード可能なファイル名の長さ:
 キャラクターセット=ShiftJISモードの場合、全角300文字程度。
 キャラクターセット=UTF-8モードの場合、で全角150-200文字程度。
 アップロード可能なファイル名の長さに揺らぎがあるのは、ファイル名をエンコードした際のサイズが1800文字までであれば受け入れる仕様となっているためです。

 従来モードは、 実ファイル名がエンコードされてc:\InetPub\procgi(バージョン番号)\profiles フォルダに格納されますが、ロングファイル名モードは一律、NoNameというファイル名になります。
 また、ロングファイル名モードを使うときは、ファイル名をDBに格納しておく必要があります。

 以下に、従来モードとロングファイル名モードのファイル名ルールについて示します。

○ファイル名モード従来モード時のファイル名ルール:
 グリニッジ累積秒(10n) + 枝番(3n) + [フラグ] + "_" + URLエンコードファイル名

例:2019/6/12 10:25頃、xcute.gifというファイルを、UTF-8モードでアップロードした場合。
1560302721000u_xcute%2Egif
というファイル名で、c:\InetPub\procgi(バージョン番号)\profiles フォルダに格納されます。さらにこの格納ファイル名が、アップロードフォームの入力規則に返されます。

フラグの意味は以下の通りです
フラグなし=ファイル名がS-JIS
U=ファイル名がUTF-8

○ファイル名モードロングファイル名モード時のファイル名ルール:
 グリニッジ累積秒(10n) + 枝番(3n) + "フラグ" + "_NoName%2e" + 拡張子
 というファイル名で、c:\InetPub\procgi(バージョン番号)\profiles フォルダに格納されます。さらに、生のファイル名が、アップロードフォームの入力規則に返されます。

例:あいうえおかきくけこさしすせそたちつてと.jpgをアップロードした場合。
1560306886000L_NoName%2Ejpg
というファイル名でc:\InetPub\procgi(バージョン番号)\profiles フォルダに格納されます。 アップロードフォームの入力規則には、profilesの格納ファイル名と、生のファイル名が「:」コロン文字を区切りとして返されます。
1560306886000L_NoName%2Ejpg:あいうえおかきくけこさしすせそたちつてと.jpg

フラグは、「L」が常に入ります。

利用可能バージョン(ロングファイル名モード)
XCute Build (12or13).13.12以降

参照
 ○
WEB機能について
 ○入力フォームの仕組みについて
 ○タグ差込とhtmltag識別子
 ○入力エリアの属性差込
 ○入力規則によるフォーム要素の作成