# 파일 또는 디렉토리 고정(pin)하기

이 Endpoint를 사용하면 단일 파일 또는 디렉토리를 업로드하고 고정(pinning)할 수 있습니다. API가 요청을 수락하도록 하려면 payload에 대한 읽기 스트림을 제공해야 합니다.

단일 파일을 업로드하고 고정(pinning)할 때 파일 자체 외에 추가 정보를 유연하게 포함할 수 있습니다. 추가 세부 정보를 제공하기 위해 요청에 PINKOptions 및 PINKMetadata를 포함할 수 있습니다.

이 Endpoint를 통해 사용자는 전체 디렉토리를 IPFS에 고정할 수도 있습니다. 이 프로세스는 단일 파일 고정(pinning)과 비슷하지만 몇 가지 차이점이 있습니다. 단일 파일을 제공하는 대신 파일 배열을 제공하고 디렉토리 내의 각 파일에 대한 상대 파일 경로를 지정해야 합니다.

서버는 각 파일에 대해 제공된 정확한 경로를 사용하므로 각 파일 경로가 업로드 중인 "기본" 디렉토리로 시작해야 한다는 점에 유의해야 합니다. 예를 들어 로컬 컴퓨터의 디렉토리가 "./../myBuilds/desiredBuild"에 있는 경우, 각 파일 경로는 "desiredBuild"로 시작해야 합니다.

다음은 got 라이브러리를 사용하여 디렉터리를 업로드하는 JavaScript 예제입니다. axios 또는 다른 HTTP 라이브러리를 사용하여 동일한 일반 절차를 적용할 수 있다는 점을 명심하세요.

**업로드 구현**

사용 사례에 따라 API를 구현하는 데 사용되는 다양한 방법이 있습니다.

클라이언트 측에서 API Key를 사용하는 것은 안전하지 않다는 점을 사용자에게 상기시키고자 합니다. 우리는  Key가 안전하게 저장되는 Back-end 서버를 사용하는 것이 더 나은 방법이라고 생각합니다. 그러나 사용자가 클라이언트 측에서 직접 파일을 업로드해야 하는 경우가 있을 수 있습니다. 필요에 따라 이러한 구성 요소를 자유롭게 활용하세요!

API Key와 같은 민감한 정보를 다룰 때는 주의를 기울이고 적절한 보안 조치를 취해야 한다는 점을 잊지 마세요.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://koneksi.gitbook.io/koneksi-docs/pink-api/pinning/pin.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
