【问题标题】:Upload files for Stripe managed account verification issue上传 Stripe 管理帐户验证问题的文件
【发布时间】:2016-06-30 17:00:53
【问题描述】:

我正在尝试将文件(从 Linux 机器上的 Chrome 浏览器)上传到 Stripe 的服务器,来自 Stripe 的服务器的响应是

com.stripe.exception.InvalidRequestException:密钥文件的文件必须 存在。

问题来自表单提交路径中的 C:/fakepath/file-name 当我在上传时对其原始路径进行硬编码时,它可以工作!

我该如何解决这个问题? 谢谢。

【问题讨论】:

    标签: html forms file-upload stripe-payments


    【解决方案1】:

    该消息并非来自 Stripe 的 API,而是来自 Java 绑定本身:https://github.com/stripe/stripe-java/blob/c7d26216b09a5a5b288ef5550c59979209979bc5/src/main/java/com/stripe/net/LiveStripeResponseGetter.java#L529-L530

    要重用 Stripe 的 API reference 中的 example

    Stripe.apiKey = "sk_test_...";
    
    Map<String, Object> fileUploadParams = new HashMap<String, Object>();
    fileUploadParams.put("purpose", dispute_evidence);
    fileUploadParams.put("file", new File('/path/to/a/file.jpg'));
    
    FileUpload fileUpload = FileUpload.create(fileUploadParams);
    

    如果/path/to/a/file.jpg 不存在,将导致完全相同的错误。

    【讨论】:

    • 我的代码和你给的一样,如果我在 new File("my-path") 中硬编码我的路径没有问题,是由于 C:/fakepath/file-name
    • 原始路径是 /home/user/documents/file-name 但它取自表单文件为 C:/fakepath/file-name
    • 我不确定你的意思。此错误仅表示您作为值传递的文件不存在(或您的 Web 应用程序无法访问)。
    • 我读到假路径是由浏览器本身出于安全目的生成的,但如果不能解决我需要做的事情,它应该由 Web 应用程序解决?
    • 当我用原始路径替换那个假路径时,它工作正常!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-12
    • 1970-01-01
    • 2011-09-19
    • 1970-01-01
    • 2016-02-09
    • 2019-11-25
    相关资源
    最近更新 更多