# Metadata api 관련 질문입니다

**URL:** <https://devforum.kaia.io/t/metadata-api/1503>\
**Category:** KAS (아카이브)\
**Created:** [7월 23, 2021, 8:40오전 UTC](https://devforum.kaia.io/t/metadata-api/1503 "2021-07-23T08:40:09Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![yuanfeixiang](https://avatars.discourse-cdn.com/v4/letter/y/779978/32.png) [@yuanfeixiang](https://devforum.kaia.io/u/yuanfeixiang)\
**Post date:** [7월 23, 2021, 8:40오전 UTC](https://devforum.kaia.io/t/metadata-api/1503/1 "2021-07-23T08:40:09Z")

</div>

Metadata api의 Asset 업로드 관련하여 Header 3가지(x-chain-id, Authorization, Content-Type)은 다 작성하였고 form-data를 눌러서 Key와 Value에 여러 시도를 해보았는데 key에 file을 쓰지 않으면 key name을 확인하라고 하는 것을 보아 key name은 file일 것 같다고 생각을 하고 있습니다. 만약에 맞다면 value에는 어떤 형식으로 file을 추가 해야 하는지 궁금합니다.

---

<div class="post-metadata">

**Author:** ![Richet](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/richet/32/774_2.png) [@Richet](https://devforum.kaia.io/u/Richet)\
**Post date:** [7월 26, 2021, 4:27오전 UTC](https://devforum.kaia.io/t/metadata-api/1503/2 "2021-07-26T04:27:10Z")

</div>

안녕하세요. 클레이튼 포럼에 질문을 올려주셔서 감사드립니다.

1. 말씀해주신대로 key로는 file을 입력해주시는게 맞습니다.
2. value로는 파일이 첨부돼야 하는데요, value값에 특별한 형식이 있는 것은 아니고,  
form에 올릴 파일이 입력돼야 합니다.

예시로 설명드리면 더 좋을 것 같은데요,  
특정 디렉토리에 test.png가 있다고 가정하고, 해당 디렉토리에서

```auto
	curl --location --request POST 'https://metadata-api.klaytnapi.com/v1/metadata/asset' \
	--header 'x-chain-id: {chain-id}' \
	--header 'Authorization: Basic {your authorization}' \
	--form 'file=@"test.png"'

```

형태로 실행하면 됩니다.

만약 curl이 익숙하시지 않다면, postman과 같은 툴을 사용하시는 것을 추천드립니다!

---

<div class="post-metadata">

**Author:** ![yuanfeixiang](https://avatars.discourse-cdn.com/v4/letter/y/779978/32.png) [@yuanfeixiang](https://devforum.kaia.io/u/yuanfeixiang)\
**Post date:** [7월 26, 2021, 6:28오전 UTC](https://devforum.kaia.io/t/metadata-api/1503/3 "2021-07-26T06:28:18Z")

</div>

Stoplight에서 실험을 해보고 싶은데 저는 Java의 NetHttp를 사용합니다.  
HttpRequest request = HttpRequest.newBuilder()  
.uri(URI.create(“[https://metadata-api.klaytnapi.com/v1/metadata/asset](https://metadata-api.klaytnapi.com/v1/metadata/asset)”))  
.header(“x-chain-id”, “8217”)  
.header(“Authorization”, “”)  
.header(“Content-Type”, “multipart/form-data”)  
.method(“POST”, HttpRequest.BodyPublishers.ofString(“file=???”))  
.build();  
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());  
System.out.println(response.body());

???에 예시로 들자면 C:\Users\문서\Bandicam\test.mp4를 사용하면 될까요??

---

<div class="post-metadata">

**Author:** ![yuanfeixiang](https://avatars.discourse-cdn.com/v4/letter/y/779978/32.png) [@yuanfeixiang](https://devforum.kaia.io/u/yuanfeixiang)\
**Post date:** [7월 26, 2021, 6:47오전 UTC](https://devforum.kaia.io/t/metadata-api/1503/4 "2021-07-26T06:47:24Z")

</div>

java의 NetHttp code generation 예시 하나만 부탁드립니다 ㅠㅠ

---

<div class="post-metadata">

**Author:** ![Richet](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/richet/32/774_2.png) [@Richet](https://devforum.kaia.io/u/Richet)\
**Post date:** [7월 26, 2021, 7:17오전 UTC](https://devforum.kaia.io/t/metadata-api/1503/5 "2021-07-26T07:17:06Z")

</div>

[https://velog.io/@higod1000/Java-외부-라이브러리-없이-Multipart-Formdata-전송하기](https://velog.io/@higod1000/Java-%EC%99%B8%EB%B6%80-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC-%EC%97%86%EC%9D%B4-Multipart-Formdata-%EC%A0%84%EC%86%A1%ED%95%98%EA%B8%B0)

해당 블로그글 참고하시기 바랍니다.

감사합니다 🙂
