透過偽裝遠端位置取得本地文件
P粉549986089
P粉549986089 2023-08-31 20:07:20
0
2
684
<p>我正在編寫一個由C# webapi應用程式提供服務的Vue JS前端。 webapi被規定將映像保存到自己機器上的E:磁碟機資料夾,並提供UI消費的src連結。 </p> <p>一切都很好,但現在我想在本地運行時進行測試(並且我無法訪問E:驅動器)。問題是:我可以將圖像儲存到C:驅動器,但(由於明顯的原因),當我嘗試顯示它們時,UI瀏覽器會顯示「不允許載入本機資源」。 </p> <p>唯一的解決辦法是創建某種遠端託管嗎?還是可能在檔案實際儲存在本地時「偽造」一個遠端blob目標?就像Javascript的URL.createObjectURL方法一樣,但在webapi中? </p>
P粉549986089
P粉549986089

全部回覆(2)
P粉821808309

如果您可以存取API的源代碼,您可能可以在本地構建和運行它,需要考慮到它可能需要一些環境變量,而這些變量您在本地機器上沒有存儲,並且需要一些配置才能在當前的生產環境之外運作。

如果您能做到這一點,那麼您需要在前端API常數中更新API的網域(例如,將http://{APIDOMAIN}/your/route更新為http://localhost:5000/your/ route),以便在本地進行測試。

P粉494151941

好的,NetMage的建議創建了一個虛擬的IIS目錄,起作用了!

您可以為正在運行的IIS應用程式建立一個虛擬目錄,指向一個本機資料夾。

  • 開啟位於[solution folder]/.vs/[solution name]/config的applicationhost.config檔
  • 在設定檔中找到<sites>部分
  • 找到您的網路應用程式的網站(例如WebApi)
  • 新增一個新的虛擬目錄元素,指定遠端路徑並指向您的本機資料夾:
<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>
  • 現在,您可以將映像的src設定為"http://localhost:8080/Media/image.png",瀏覽器將認為它是遠端資源(不再抱怨)!
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板