sean.zhou
2023-02-24 a7aaeabc7873a0eafb4a7ecad7f65b018b7a9bc9
src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java
@@ -9,6 +9,7 @@
import com.dji.sample.wayline.service.IWaylineFileService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -16,6 +17,7 @@
import java.net.URL;
import java.sql.SQLException;
import java.util.List;
import java.util.Objects;
import static com.dji.sample.component.AuthInterceptor.TOKEN_CLAIM;
@@ -73,6 +75,7 @@
        try {
            URL url = waylineFileService.getObjectUrl(workspaceId, waylineId);
            response.sendRedirect(url.toString());
        } catch (IOException | SQLException e) {
            e.printStackTrace();
        }
@@ -158,4 +161,21 @@
        boolean isDel = waylineFileService.deleteByWaylineId(workspaceId, waylineId);
        return isDel ? ResponseResult.success() : ResponseResult.error("Failed to delete wayline.");
    }
    /**
     * Import kmz wayline files.
     * @param file
     * @return
     */
    @PostMapping("/{workspace_id}/waylines/file/upload")
    public ResponseResult importKmzFile(HttpServletRequest request, MultipartFile file) {
        if (Objects.isNull(file)) {
            return ResponseResult.error("No file received.");
        }
        CustomClaim customClaim = (CustomClaim)request.getAttribute(TOKEN_CLAIM);
        String workspaceId = customClaim.getWorkspaceId();
        String creator = customClaim.getUsername();
        waylineFileService.importKmzFile(file, workspaceId, creator);
        return ResponseResult.success();
    }
}