在我的 UI 中选择图像如何停止我的 Web API?

Posted

技术标签:

【中文标题】在我的 UI 中选择图像如何停止我的 Web API?【英文标题】:How can selecting an image in my UI stop my Web API? 【发布时间】:2021-12-31 04:37:42 【问题描述】:

在 Visual Studio 2019 中,我启动了我的 .NET Core 3 Wep API。它运行并接受请求。

然后,在我的 Angular UI 中,我有一个新的部分来选择一个文件。如果我点击它,然后选择一个文件,或者在打开的对话框中点击取消,我的 Web API 应用程序将关闭。我试图理解这是怎么可能的。我只做前端的东西。没有进行网络调用。

这是我点击的截图。

当我点击取消时,我的 Web API 会停止。我可以在 VS 中看到我的运行按钮再次启用,就像它准备好再次启动一样。

在前端,这就是正在发生的一切:

<label class="image-upload-container btn btn-bwm" style="float: left;">
    <input #imageInput
           type="file"
           accept="image/*"
           (change)="processFile(imageInput)">
</label>
<div [ngStyle]="'background-image': 'selectedImage'">
</div>

这是processFile() 函数:

  processFile(imageInput: any) 
    // https://www.freecodecamp.org/news/how-to-make-image-upload-easy-with-angular-1ed14cb2773b/
    console.log('in process file');
    //this.selectedImage = imageInput;
  

你可以看到只有一个调用来记录一些东西。在开发工具中,没有网络调用或控制台错误。选择文件(或在打开的对话框中点击取消)如何导致我的后端服务停止?我什至不确定要检查什么。

【问题讨论】:

这看起来不对:(change)="processFile(imageInput)" -- 你的意思是(change)="processFile($event)"吗?我不是 Angular 开发人员,但我只使用过过滤器或$event 谢谢,@Andy。在解决这个问题后,我会记住这一点。奇怪的是我的 Web API 就是这样。我什至将 VS 设置为中断所有异常。而且我的日志中间件没有受到影响。 我想知道 是否是 的问题。尝试将其更改为 $event 并查看是否可以修复它。您的 浏览器 可能正在崩溃,正在结束您的调试会话。 我确实试过了。结果相同。浏览器没有崩溃。 嗯好的——超级奇怪。如果您打开一个新的浏览器实例并转到该页面怎么办?基本上,如果您从新的浏览器实例在调试会话之外执行操作,它仍然会这样做吗? 【参考方案1】:

我不知道为什么会出现此问题,但您可以在 Visual Studio 中尝试:

关闭Tools &gt; Options &gt; Projects and Solutions &gt; Web Projects -&gt; Stop debugger when browser window is closed, close browser when debugging stops 看看这是否能解决问题。

【讨论】:

以上是关于在我的 UI 中选择图像如何停止我的 Web API?的主要内容,如果未能解决你的问题,请参考以下文章

如何停止主 ui 线程,直到我得到来自 http 请求的响应

在我的应用程序中使用自定义 UICollectionViewCell 时如何停止内存警告

使用文件选择器在图像 UI 元素中设置图片

如何在我的颤振应用程序中从 bing web search apiv7 获取图像

如何在我的应用程序中获取从 Whats 应用程序的聊天中选择的图像路径?

如何在我的应用程序中播放 Youtube 视频而不使用 Webview