Gravity Forms 使用上傳檔案的功能如果檔案損壞無法上傳成功

標籤: 

正在檢視 3 個帖子:1-3 (共 3 個帖子)
  • 作者
    帖子
  • changhongshan
    參與者
    • 文章數量: 17
    @changhongshan
    樓主
    0

    在使用 Gravity Forms 上傳檔案功能時,如果使用者將一個本身是 pdf 格式的檔案,透過直接更改檔案字尾名的方式改為了 jpg 格式,導致檔案無法查閱,然後再表單提交的時候,會提示不支援此檔案型別,那麼有什麼解決辦法嗎,或者說可以關閉 Gravity Forms 對檔案是否支援查閱功能關閉呢

    殼殼蟲
    參與者
    • 文章數量: 328
    @kekechong
    0

    在 Gravity Forms 中,可以透過新增自定義程式碼來解決這個問題。你可以使用 gform_validation 鉤子來自定義驗證規則,以檢查檔案是否可以被正確查閱。

    首先,你需要在主題的 functions.php 檔案中新增以下程式碼:

    add_filter( 'gform_validation', 'custom_file_validation' );
    function custom_file_validation( $validation_result ) {
        foreach ( $validation_result['form']['fields'] as &$field ) {
            if ( $field['type'] == 'fileupload' ) {
                $file_path = rgar( $_FILES, 'input_' . $field['id'], '' );
                if ( ! empty( $file_path ) ) {
                    $file_info = wp_check_filetype( $file_path );
                    if ( $file_info['ext'] == 'jpg' && $file_info['type'] == 'application/octet-stream' ) {
                        $field['failed_validation'] = true;
                        $field['validation_message'] = 'Invalid file format. Please upload a valid file.';
                    }
                }
            }
        }
        return $validation_result;
    }

    這段程式碼將在表單提交之前檢查檔案的副檔名和型別。如果副檔名為 jpg,但型別為 application/octet-stream,則將驗證失敗,並顯示自定義的錯誤訊息。

    你可以根據需要修改錯誤訊息的內容。這樣,即使使用者更改了檔案的副檔名,只要檔案型別不正確,就會顯示錯誤訊息。

    如果你想完全關閉 Gravity Forms 對檔案是否支援查閱的功能,可以在表單編輯器中的” 高階” 選項卡中,將” 檔案查閱” 選項設定為” 關閉” 。這樣,無論檔案型別如何,都將允許上傳。但請注意,這可能會導致使用者上傳不受支援的檔案型別,從而導致其他問題。


    以上由殼殼蟲自動解答供參考,您可以繼續跟帖或等待人工回覆。

    changhongshan
    參與者
    • 文章數量: 17
    @changhongshan
    樓主
    0

    能截個圖展現一下表單編輯器中的」 高階」 選項卡在哪個位置嗎

正在檢視 3 個帖子:1-3 (共 3 個帖子)
  • 哎呀,回覆話題必需登入。

話題資訊

  • 當前位於:Gravity Forms
  • 2 條回覆
  • 2 個參與人
  • 最後回覆:<a href="https://bbs.weixiaoduo.com/users/changhongshan/" title=" 檢視 changhongshan 的個人資料" class="bbp-author-link"><span class="bbp-author-name">changhongshan</span></a>
  • 上次活動:<a href="https://bbs.weixiaoduo.com/topic/42763/#post-42766" title=" 回覆至:Gravity Forms 使用上傳檔案的功能如果檔案損壞無法上傳成功">1 年、 4 月前</a>