try
Some checks failed
Publish Ranger template to Laconic Registry / laconic_publish (push) Failing after 1m2s

This commit is contained in:
zramsay 2025-02-02 15:56:02 -05:00
parent b1de5e2f3f
commit 2649cee033
2 changed files with 40 additions and 7 deletions

View File

@ -7,15 +7,23 @@ import { processAnimalImage } from '../../../services/animalProcessingService'
export async function POST(req: NextRequest): Promise<NextResponse> {
try {
const formData = await req.formData()
const imageFile = formData.get('image') as File
const imageFile = formData.get('image')
if (!imageFile) {
// Robust type checking
if (!imageFile || !(imageFile instanceof File)) {
return NextResponse.json(
{ error: 'No image provided' },
{ error: 'No valid image provided' },
{ status: 400 }
)
}
// Log file details for debugging
console.log('Received file:', {
name: imageFile.name,
type: imageFile.type,
size: imageFile.size
})
// Convert image to buffer
const arrayBuffer = await imageFile.arrayBuffer()
const buffer = Buffer.from(arrayBuffer)
@ -42,7 +50,7 @@ export async function POST(req: NextRequest): Promise<NextResponse> {
buffer,
visionResult.description,
visionResult.rawResponse,
imageFile.name
imageFile.name
).catch(console.error)
}

View File

@ -27,19 +27,44 @@ export async function analyzeImage(imageBuffer: Buffer, filename: string): Promi
// Create file from buffer using Blob
const blob = new Blob([imageBuffer], { type: 'image/jpeg' })
// Detailed logging for debugging
console.log('Analyzing image:', {
filename,
bufferLength: imageBuffer.length,
blobSize: blob.size,
blobType: blob.type
})
formData.append('image', blob, filename)
// Log FormData contents (if possible)
for (const [key, value] of formData.entries()) {
console.log('FormData entry:', key, value)
}
const response = await fetch('/api/analyze', {
method: 'POST',
body: formData
})
// Log full response for debugging
const responseText = await response.text()
console.log('Raw response:', responseText)
if (!response.ok) {
const error = await response.json()
throw new Error(error.error || 'Failed to analyze image')
try {
const errorData = JSON.parse(responseText)
throw new Error(errorData.error || 'Failed to analyze image')
} catch {
throw new Error(`HTTP error ${response.status}: ${responseText}`)
}
}
return await response.json()
// Parse response
const result = JSON.parse(responseText)
return result
} catch (error) {
console.error('Vision analysis error:', error)
return {