sto cercando di costruire la chiamata dell'API per analizzare un immagine ma da errore 404

Pierandrea Formusa 30 Punti di reputazione
2024-09-13T01:07:06.28+00:00

sto cercando di costruire la chiamata dell'API per analizzare un immagine all'interno di un codice HTML, la mia risorsa è di tipo "visione artificiale" e il mio endpoint è: https://visione-artificiale-pier.cognitiveservices.azure.com/, poi dalla documentazione ho letto che il metodo POST è /imageanalysis:analyze?api-version=2023-04-01-preview quindi ho scritto questo codice js: const url = "https://visione-artificiale-pier.cognitiveservices.azure.com/imageanalysis:analyze?api-version=2023-04-01-preview";

    const apiKey = "myapiKey"

insieme ad altro codice js e html

però quando carico l'immagine da analizzare e lancio l'analisi mi da errore 404 Resource not found

qualcuno può aiutare per favore?

grazie

Azure
Azure
Una piattaforma e un'infrastruttura di cloud computing per la creazione, la distribuzione e la gestione di applicazioni e servizi tramite una rete mondiale di data center gestiti da Microsoft.
103 domande
0 commenti Nessun commento
{count} voti

1 risposta

Ordina per: Più utili
  1. Monica Caprio (Convergys International Europe) 1,130 Punti di reputazione Fornitore Microsoft
    2024-09-13T12:57:25.6233333+00:00

    Gentile Pierandrea,

    L'errore 404 Resource not found suggerisce che l'endpoint a cui stai tentando di fare la richiesta non è corretto. Considerando la tua descrizione e il codice JavaScript fornito, ci sono alcune possibili cause per cui potresti ottenere questo errore.

    Ecco alcune verifiche e suggerimenti per correggere il problema:

    1. Verifica la URL di Endpoint

    Dalla tua descrizione, l'endpoint che stai utilizzando è:

    
    https://visione-artificiale-pier.cognitiveservices.azure.com/imageanalysis:analyze?api-version=2023-04-01-preview
    
    

    Tuttavia, in Azure Cognitive Services, l'endpoint di solito ha una struttura come:

    
    https://<nome-risorsa>.cognitiveservices.azure.com/vision/v3.2/analyze?visualFeatures=<features>&language=<language>
    
    

    Per il servizio di "Visione Artificiale" (Computer Vision), assicurati che la tua URL abbia il prefisso giusto /vision/<version>/analyze.

    2. Controlla il Metodo POST e l'Header

    Ecco un esempio di come fare una richiesta POST per analizzare un'immagine con l'API di Visione Artificiale di Azure utilizzando JavaScript:

    
    const url = "https://visione-artificiale-pier.cognitiveservices.azure.com/vision/v3.2/analyze?visualFeatures=Description&api-version=2023-04-01-preview";
    
    const apiKey = "myApiKey";
    
    async function analyzeImage(imageData) {
    
        const response = await fetch(url, {
    
            method: "POST",
    
            headers: {
    
                "Ocp-Apim-Subscription-Key": apiKey,
    
                "Content-Type": "application/octet-stream"
    
            },
    
            body: imageData
    
        });
    
        if (!response.ok) {
    
            throw new Error(`Errore nella richiesta: ${response.status} ${response.statusText}`);
    
        }
    
        const data = await response.json();
    
        console.log(data);
    
    }
    
    // Per esempio, prendi un file immagine dal form HTML
    
    document.getElementById("uploadImage").addEventListener("change", async (event) => {
    
        const file = event.target.files[0];
    
        if (!file) return;
    
        const imageData = await file.arrayBuffer();  // Converti il file immagine in un ArrayBuffer
    
        try {
    
            await analyzeImage(imageData);
    
        } catch (error) {
    
            console.error("Errore durante l'analisi dell'immagine:", error);
    
        }
    
    });
    
    

    3. Impostazioni del Formato dell'Immagine

    Assicurati che il formato del corpo della richiesta (body) sia corretto. Per immagini, il tipo di contenuto (Content-Type) dovrebbe essere "application/octet-stream" quando invii i dati binari dell'immagine.

    4. Verifica l'Endpoint della Risorsa di Azure

    Assicurati che la risorsa creata in Azure sia effettivamente del tipo "Computer Vision" e che l'endpoint sia corretto per quel servizio. Vai al portale di Azure, seleziona la tua risorsa di "Computer Vision" e copia l'endpoint e la chiave API.

    5. Correzione del Codice HTML/JS

    Ecco un esempio di HTML per caricare un'immagine e attivare la funzione di analisi:

    
    <!DOCTYPE html>
    
    <html lang="it">
    
    <head>
    
        <meta charset="UTF-8">
    
        <title>Analisi dell'Immagine</title>
    
    </head>
    
    <body>
    
        <input type="file" id="uploadImage" accept="image/*">
    
        <script src="analyze.js"></script> <!-- Assumendo che il codice JS sia in analyze.js -->
    
    </body>
    
    </html>
    
    

    Riassunto

    • Verifica l'endpoint: Assicurati che sia formattato correttamente.
    • Controlla il metodo HTTP e gli header: Usa POST con i giusti header e payload.
    • Aggiorna il JavaScript e HTML: Assicurati che il codice JavaScript e l'HTML siano corretti e funzionanti.

    Fammi sapere se questo risolve il problema o se hai bisogno di ulteriori dettagli!

    0 commenti Nessun commento

Risposta

Le risposte possono essere contrassegnate come risposte accettate dall'autore della domanda. Ciò consente agli utenti di sapere che la risposta ha risolto il problema dell'autore.