Obtenez des fichiers locaux en prétendant être un emplacement distant
P粉549986089
P粉549986089 2023-08-31 20:07:20
0
2
654
<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粉549986089
P粉549986089

répondre à tous(2)
P粉821808309

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.

P粉494151941

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) !
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal