首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >上传文件时出错“、”错误“:[”赋值前引用的局部变量'upload_file_path‘“-在空手道中为post方法添加".yaml”文件

上传文件时出错“、”错误“:[”赋值前引用的局部变量'upload_file_path‘“-在空手道中为post方法添加".yaml”文件
EN

Stack Overflow用户
提问于 2020-02-26 06:57:45
回答 1查看 64关注 0票数 1

一个简单的测试,发布'.yaml‘的服务,托管在我的本地机器。

特点:测试

代码语言:javascript
复制
Background:
 * url 'http://localhost:0000/upload' ..........(anonymized)

Scenario: Test
  Given path 'contract'
  And multipart entity read('test.yaml')        ..........(anonymized)
  And multipart field digest = '123123dedwd2rd2d23e2d23e2d3'      .........(anonymized)
  And header Content-Type = 'multipart/related'
  When method post
  Then status 200

响应为{"message":"Error while uploading file","error":["local variable 'upload_file_path' referenced before assignment"],"success":false}

需要帮助才能理解,这里引用了什么局部变量upload_file_path ..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-26 12:53:56

默认情况下,空手道自动将*.yaml文件转换为JSON,因为这是最常见的用例,但您正在尝试进行文件上传。你有两个选择。

( a)将文件重命名为其他东西,例如*.txt

( b)使用karate.readAsString() API

代码语言:javascript
复制
And multipart entity karate.readAsString('test.yaml') 

编辑:根据评论

要传递自定义Content-Type,可以执行两个步骤:

代码语言:javascript
复制
* def temp = karate.readAsString('test.yaml')
* multipart file file = { value : '#(temp)', filename: 'myname.yml', contentType: 'application/yaml' }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60408353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档