File Upload

API Raw

Request Format

POST http://semogyo-alpha/rest/1/files

multipart/form-data 형식으로 보내야함

Response Format

{
    "status": "OK",
    "success": true,
    "version": "1",
    "error": null,
    "data": {
        "id": "fb803148-641e-4177-b3a6-d03bb37bd483",
        "name": "ico_common.png",
        "size": 9255,
        "contentType": "image/png",
        "regDate": null,
        "url": "http://localhost:8080/rest/1/files/fb803148-641e-4177-b3a6-d03bb37bd483"
    }
}

관리자 화면 개발

1개의 파일을 등록할 경우

View File

<div class="form-group">
  <label class="col-md-2 control-label">프로필 사진</label>
    <div class="col-md-10">
      <img ng-src="{{ user.profileImage.url }}" ng-show="user.profileImage != null" />
      <div ng-show="user.profileImage != null">
        <button class="btn btn-primary" type="button" ng-click="deleteProfileImage()">
          <i class="fa fa-trash"></i> 프로필 사진 삭제
        </button>
      </div>
      <div>
        <input type="file" file-model="profileImage"/>
      </div>
    </div>
  </div>

위 소스에서 <input type="file" file-model="profileImage"/> 와 같이 file-model 부분에 파일 정보가 설정된다.

Controller

var file = $scope.profileImage;
fileService.uploadFile(file).then(function(fileInfo) {
  $scope.user.profileImage = fileInfo;
}

Sever Request

@Getter
@Setter
public class UserEditRequest {
  private FileRequest profileImage;

  @Getter
  @Setter
  public static class FileRequest {
    String id;
  }
}

여러개의 파일을 등록할 경우

View File

<input type="file" file-model="defaultImage"/>
<input type="file" file-model="thumbnailImage"/>

Controller

var file = $scope.profileImage;
fileService.uploadFiles($scope.defaultImage, $scope.thumbnailImage).then(function(fileInfos) {
  $scope.user.defaultImage = fileInfos[0];
  $scope.user.defaultImage = fileInfos[1];
}

Sever Request

@Getter
@Setter
public class UserEditRequest {
  private FileRequest defaultImage;
  private FileRequest thumbnailImage;

  @Getter
  @Setter
  public static class FileRequest {
    String id;
  }
}

results matching ""

    No results matching ""