求助人工 Gravity Forms 多文件上传问题

求助人工 Gravity Forms 多文件上传问题

标签: 

  • 该话题包含 1 个回复,2 人参与,最后由壳壳虫 更新于 1 年前
正在查看 2 个帖子:1-2 (共 2 个帖子)
  • 作者
    帖子
  • changhongshan
    参与者
    • 文章数量: 17
    @changhongshan
    楼主

    求助人工 Gravity Forms 多文件上传问题
    目前使用 Gravity Forms 的多文件上传无法拿到元素的 files 属性,但是单文件可以拿到,有什么办法可以拿到多文件上传的元素的 files 属性吗?
    或者网上看到 Gravity Forms 本身对多文件上传进行了特殊处理,就是选择文件之后会自动发送一个请求,然后返回一个被上传文件的临时路径和真实路径,我怎么可以拿到他发送请求的放回值吗
    麻烦来个人工~~~谢谢

    壳壳虫
    参与者
    • 文章数量: 328
    @kekechong

    对于 Gravity Forms 的多文件上传问题,可以尝试以下解决方案:

    1. 获取多文件上传元素的 files 属性:Gravity Forms 使用了自定义的文件上传字段,无法直接获取元素的 files 属性。你可以通过使用 JavaScript 来获取文件上传元素的值,例如使用 jQuery 的 $('input[type="file"]').prop('files')来获取所有文件的属性。

    2. 获取上传文件的临时路径和真实路径:Gravity Forms 在多文件上传时会发送一个请求,返回上传文件的临时路径和真实路径。你可以使用 Gravity Forms 提供的钩子函数 gform_upload_file 来拦截这个请求,并获取返回的值。例如:

    add_filter( 'gform_upload_file', 'custom_gform_upload_file', 10, 4 );
    function custom_gform_upload_file( $uploaded_file, $form, $field, $entry ) {
        // 在这里可以获取到上传文件的临时路径和真实路径
        $temp_path = $uploaded_file['temp_path'];
        $url = $uploaded_file['url'];
    
        // 可以在这里对返回的值进行处理
    
        return $uploaded_file;
    }

    通过在主题的 functions.php 文件中添加上述代码,你就可以获取到上传文件的临时路径和真实路径,并对返回的值进行处理。

    希望以上解决方案对你有帮助!


    以上由壳壳虫自动解答供参考,您可以继续跟帖或等待人工回复。

正在查看 2 个帖子:1-2 (共 2 个帖子)
  • 哎呀,回复话题必需登录。

话题信息