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>