Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用多部分/混合音频文件上传,让您放心_Java_Rest Assured - Fatal编程技术网

Java 使用多部分/混合音频文件上传,让您放心

Java 使用多部分/混合音频文件上传,让您放心,java,rest-assured,Java,Rest Assured,我正在尝试在RESTAzure中测试以下上载内容。它是一个多部分/混合文件,第一部分是正文,第二部分是实际的音频文件: PUT /baseUri/service/v1/audio/14255894558 HTTP/1.1 Host: p18web.stg.example.com Authorization: Basic XXXXXXXXXXXXXXXX Content-Type: multipart/mixed; boundary="====outer123==" Cache-Control:

我正在尝试在RESTAzure中测试以下上载内容。它是一个多部分/混合文件,第一部分是正文,第二部分是实际的音频文件:

PUT /baseUri/service/v1/audio/14255894558 HTTP/1.1
Host: p18web.stg.example.com
Authorization: Basic XXXXXXXXXXXXXXXX
Content-Type: multipart/mixed; boundary="====outer123=="
Cache-Control: no-cache


--====outer123==
Content-Disposition: form-data; name="request";
Content-Type: application/json; charset=UTF-8

{
  "object": {
  "parentFolderPath": "Media/VR",
   "attributes": {
     "attribute": [
      {
      "name": "Date",
      "value": "2014-03-17T12:37:59Z"
    },
    {
      "name": "Message-Id",
      "value": "950124.162336@example.com"
        }
      ]
    }
  }
}
 --====outer123==
 Content-Disposition: form-data; name="attachment"; filename="";Content-ID: 
 duicw78fhage7f
 Content-Type: audio/wav

 UklGRjItFABXQVZFZm10IBAAAAABAAIARKwAABCxAgAEABAAZGF0YZgsFACn/5X/ff+D/xb/Hf8q/wP/fwAQANACQwJHBdMEGwfZBlEIOghmCVMJoAqdCt0L5QvkDP4MLw4yDjoQGBB/EygTZRjEF08fWh40KAUnvjHWMDI5IjljPIo9tDuXPZw5mTv1OH06hzqoO7088z3aPWY/Nz0ZP8A7oD3hOnk83DvuPOQ+iz81Q7tDHEfjRwhJWEr7SKhKcEgSSgxJSUowSzNMdE2RTvZNnU+ITHlOt0p3TJxK0ksETbxNxFBkUYlTiFRsVMdV/FQzVtNXWlh2/nfUduZ3u3bQd6t2tXefdq93gHaJd292d3djdmZ3QHZOdyx2L3cadiF3AXYGd+t17nbrdeJ2w3XOdrB1o3aqdaB2kXWWdnh1dnZvdWZ2YHVUdjp1OHYvdSt2IXUadgh1/XX1dOt15nTfddV0xnW5dKh

--====outer123==--
我创建了以下测试,但不幸的是,它不起作用:

  @Test
  public void uploadAudio(){

    Map<String, String> jsonRequest = new HashMap<>();
    jsonRequest.put("Content-Disposition", "form-data");

    Map<String, String> jsonAttachment = new HashMap<>();
    jsonAttachment.put("Content-Disposition", "form-data");
    jsonAttachment.put("Content-ID", "duicw78fhage7f");

    given()
       .contentType("multipart/mixed; boundary=====outer123==")
       .multiPart("text", dataProvider.getAudioAttachment())
       .multiPart(new MultiPartSpecBuilder(jsonRequest).with().controlName("request")
               .and().mimeType(ContentType.JSON.withCharset("UTF_8")).build())
       .multiPart(new MultiPartSpecBuilder(jsonAttachment).with().controlName("attachment")
               .and().emptyFileName().and().mimeType("audio/wav").build())
       .queryParam("msisdn", "14565894558")
       .header("Authorization", "Basic xxxxxxxx")
       .header("Cache-Control", "no-cache")
       .body(dataProvider.getWSGUploadAudioRequest()).
    expect()
       .statusCode(200).
    when()
       .put("https://<host>/<service>/v1/audio/{msisdn}");


}
@测试
public void uploadAudio(){
Map jsonRequest=newhashmap();
put(“内容处置”、“表单数据”);
Map jsonAttachment=newhashmap();
jsonAttachment.put(“内容处理”、“表单数据”);
jsonAttachment.put(“内容ID”,“duicw78fhage7f”);
给定()
.contentType(“多部分/混合;边界===outer123==”)
.multiPart(“文本”,dataProvider.getAudioAttachment())
.multiPart(新的MultiPartSpecBuilder(jsonRequest).with().controlName(“请求”)
.and().mimeType(ContentType.JSON.withCharset(“UTF_8”)).build())
.multiPart(新的MultiPartSpecBuilder(jsonAttachment).with().controlName(“附件”)
.and().emptyFileName()and().mimeType(“音频/wav”).build())
.queryParam(“msisdn”、“14565894558”)
.标题(“授权”、“基本xxxxxxxx”)
.header(“缓存控制”、“无缓存”)
.body(dataProvider.getWSGUploadAudioRequest())。
expect()
.状态代码(200)。
当()
.put(“https:////v1/audio/{msisdn}”);
}

我已经多次测试过这个案例,似乎问题出在多部分主体组合上,尽管我不知道到底是什么原因导致了这个问题。我能帮忙吗?我正在使用最新版本的rest assured

以下是我如何解决此测试问题的:

@Test(dependsOnGroups = {"init"})
public void uploadAudio() throws IOException{
    url = (baseURI + "/" + basePath + dataProvider.uploadAudioPath()).replaceAll("\\s","");
    logger.debug("Testing " + url);

    File file = new ClassPathResource("uploadAudio.txt").getFile();

    given()
       .contentType("multipart/mixed; boundary=\"====outer123==\"")
       .body(file)
       .pathParam("param", "14255894558")
       .header("Authorization", dataProvider.getToken()). 
    expect()
       .statusCode(200).
    when()
       .put(url);
我对它进行了测试,它在Spring Boot中运行良好。我希望这对其他人有帮助