Skip to content

Commit 64f79a0

Browse files
committed
move into javaai dir, add k8s and dockerfile and basicauth
1 parent 08ffbe9 commit 64f79a0

File tree

4 files changed

+71
-0
lines changed

4 files changed

+71
-0
lines changed

java-ai/src/main/java/oracleai/UploadDownloadImage.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,16 @@ public String uploadImage(@RequestParam("image") MultipartFile image, Model mode
2323
return "images";
2424
}
2525

26+
@PostMapping("/uploadimageandvideo")
27+
public String uploadimageandvideo(@RequestParam("image") MultipartFile image, Model model) {
28+
// ORDSCalls.uploadImage(image);
29+
// System.out.println("Image upload complete for: " + image.getOriginalFilename());
30+
System.out.println("convertImage(): " + ORDSCalls.convertImage());
31+
ImageStore[] imageStores = ORDSCalls.getImageStoreData();
32+
model.addAttribute("images", imageStores);
33+
return "images";
34+
}
35+
2636

2737

2838
@GetMapping("/downloadimages")

java-ai/src/main/java/oracleai/services/ORDSCalls.java

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package oracleai.services;
22

3+
import com.fasterxml.jackson.databind.JsonNode;
4+
import com.fasterxml.jackson.databind.ObjectMapper;
35
import oracleai.AIApplication;
46
import oracleai.ImageStore;
57
import oracleai.ImageStoreWrapper;
@@ -9,6 +11,7 @@
911
import org.springframework.web.client.RestTemplate;
1012
import org.springframework.web.multipart.MultipartFile;
1113

14+
import java.io.IOException;
1215
import java.util.Base64;
1316
import java.util.Collections;
1417
import java.util.HashMap;
@@ -103,5 +106,48 @@ public static ImageStore[] getImageStoreData() {
103106
return new ImageStore[0];
104107
}
105108
}
109+
110+
public static ImageStore[] make3Drequest() {
111+
String url = AIApplication.ORDS_ENDPOINT_URL + "image_store/";
112+
RestTemplate restTemplate = new RestTemplate();
113+
ResponseEntity<ImageStoreWrapper> response = restTemplate.getForEntity(url, ImageStoreWrapper.class);
114+
ImageStoreWrapper wrapper = response.getBody();
115+
if (wrapper != null) {
116+
for (ImageStore imageStore : wrapper.getItems()) {
117+
System.out.println("Image Name: " + imageStore.getImageName());
118+
}
119+
return wrapper.getItems().toArray(new ImageStore[0]);
120+
} else {
121+
return new ImageStore[0];
122+
}
123+
}
124+
125+
public static String convertImage() {
126+
String apiUrl = "https://api.meshy.ai/v1/image-to-3d";
127+
RestTemplate restTemplate = new RestTemplate();
128+
HttpHeaders headers = new HttpHeaders();
129+
headers.setContentType(MediaType.APPLICATION_JSON);
130+
headers.set("Authorization", "Bearer " + AIApplication.THREEDEY);
131+
String requestJson =
132+
"{\"image_url\": \"https://upload.wikimedia.org/wikipedia/commons/e/e1/Face_%E2%80%93_Alexander.jpg\", " +
133+
"\"enable_pbr\": true, \"surface_mode\": \"hard\"}";
134+
HttpEntity<String> entity = new HttpEntity<>(requestJson, headers);
135+
ResponseEntity<String> response = restTemplate.postForEntity(apiUrl, entity, String.class);
136+
ObjectMapper mapper = new ObjectMapper();
137+
try {
138+
JsonNode root = mapper.readTree(response.getBody());
139+
return root.path("result").asText(); // Return the result value
140+
} catch (IOException e) {
141+
e.printStackTrace();
142+
return "Error parsing JSON";
143+
}
144+
}
145+
146+
/**
147+
148+
curl https://api.meshy.ai/v1/image-to-3d/01917ce6-09a1-7bf6-8240-ff5d77f01d97 \
149+
-H "Authorization: Bearer msy_oCS1X5nuRxS06AjdlTJ0vCHg3OFyOhpaCMoa"
150+
151+
*/
106152
}
107153

java-ai/src/main/resources/static/DownloadDigitalDoubles.html

Whitespace-only changes.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<title>Upload Image</title>
6+
</head>
7+
<body>
8+
<h1>Upload For Digital Doubles</h1>
9+
<form method="POST" action="/transferimage/uploadimageandvideo" enctype="multipart/form-data">
10+
<label for="image">Select image:</label>
11+
<input type="file" id="image" name="image" accept="image/*" required>
12+
<button type="submit">Upload</button>
13+
</form>
14+
</body>
15+
</html>

0 commit comments

Comments
 (0)