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

標籤: 

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

    在使用 Gravity Forms 上傳文件功能時,如果用户將一個本身是 pdf 格式的文件,通過直接更改文件後綴名的方式改為了 jpg 格式,導致文件無法查閲,然後再表單提交的時候,會提示不支持此文件類型,那麼有什麼解決辦法嗎,或者説可以關閉 Gravity Forms 對文件是否支持查閲功能關閉呢

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

    在 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
    樓主

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

正在查看 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>