recherche

Maison  >  Questions et réponses  >  le corps du texte

Obtenez des fichiers locaux en prétendant être un emplacement distant

<p>J'écris une interface Vue JS servie par une application webapi C#. Webapi est requis pour enregistrer l'image dans le dossier du lecteur E: sur votre ordinateur et fournir un lien src pour la consommation de l'interface utilisateur. </p> <p>Tout va bien, mais maintenant je souhaite tester en exécutant localement (et je n'ai pas accès au lecteur E:). Le problème est le suivant : je peux enregistrer les images sur le lecteur C :, mais (pour des raisons évidentes), lorsque j'essaie de les afficher, le navigateur de l'interface utilisateur indique "Le chargement des ressources locales n'est pas autorisé". </p> <p>La seule solution consiste-t-elle à créer une sorte d'hébergement à distance ? Ou est-il possible de « simuler » une cible blob distante lorsque le fichier est réellement stocké localement ? Comme la méthode URL.createObjectURL de Javascript, mais dans une webapi ? </p>
P粉549986089P粉549986089536 Il y a quelques jours725

répondre à tous(2)je répondrai

  • P粉821808309

    P粉8218083092023-09-01 14:46:53

    Si vous avez accès au code source de l'API, vous pourrez peut-être le créer et l'exécuter localement, en tenant compte du fait qu'il peut nécessiter certaines variables d'environnement que vous n'avez pas stockées sur votre machine locale et nécessiter une certaine configuration pour exécuter sur votre production actuelle Exécuter en dehors de l'environnement.

    Si vous parvenez à le faire, vous devez alors mettre à jour le nom de domaine de l'API dans les constantes de l'API frontend (par exemple, mettre à jour http://{APIDOMAIN}/your/route vers http://localhost:5000/your/ route), pour tester localement.

    répondre
    0
  • P粉494151941

    P粉4941519412023-09-01 14:01:57

    D'accord, la suggestion de NetMage de créer un répertoire IIS factice a fonctionné !

    Vous pouvez créer un répertoire virtuel pour votre application IIS en cours d'exécution, pointant vers un dossier local.

    • Ouvrez le fichier applicationhost.config situé dans [dossier solution]/.vs/[nom de la solution]/config
    • Retrouvez la <sites>section
    • dans le fichier de configuration
    • Trouvez le site de votre application web (ex. WebApi)
    • Ajoutez un nouvel élément de répertoire virtuel spécifiant le chemin distant et pointant vers votre dossier local :
    <sites>
        <site name="App.WebApi" id="1">
            <application path="/" applicationPool="App.WebApi AppPool">
              <virtualDirectory path="/" physicalPath="C:\Repos\Code\App.WebApi" />
              <virtualDirectory path="/Media" physicalPath="C:\Media" /> <--这是我新增的
            </application>
            <bindings>
              <binding protocol="http" bindingInformation="*:8080:localhost" />
            </bindings>
        </site>
    <sites>
    • Vous pouvez maintenant définir le src de l'image sur "http://localhost:8080/Media/image.png" et le navigateur pensera qu'il s'agit d'une ressource distante (ne vous plaignez plus) !

    répondre
    0
  • Annulerrépondre