asp.net - asp fileupload 控件停止使用 android 8
问题描述
我正在使用 Microsoft ASP.NET Fileupload 控件在 Android 设备上启动用户相机,允许他们拍照,然后将该照片上传到 Web 服务器。该网站是一个渐进式 Web 应用程序,旨在供移动设备使用。该功能适用于所有早于 Android 8 的 Android 版本。显然,Google 实施了旨在阻止黑客劫持相机进行间谍活动的安全措施,因此现在 Fileupload 控件不再与操作系统正确交互。该控件确实会触发浏览器请求许可,但操作系统似乎无论如何都阻止了图像从相机到控件的传输。控件 HasFile 始终为 false,即使在用户授予权限后也是如此。有没有人遇到过这个问题?我有一种预感,解决方案可能只是将应用程序放在 Google Play 商店中。受信任的应用程序的谷歌标记可能会解决问题,但我不想在不知道这会解决问题的情况下投入时间和金钱来做这件事。有没有人围绕这个问题编程并且可能有一个编程解决方案?
// html
<asp:Image ID="UploadButtonImage" runat="server" ImageUrl="StockImages/Btn_choose_Tree.png" style="top: 0px; left: 0px; height: 0px; width: 0px; position: absolute;" BorderStyle="Groove"/>
<asp:FileUpload ID="FileUpload1" runat="server" OnClick = "loadPicClick();" onchange="__doPostBack('', '');" accept=".jpg,.jpeg," style=" top: 0px; left: 0px; height: 0px; width:0px; position: absolute; height: 25px; width: 175px; opacity: 0;" BackColor="#333333" BorderStyle="Groove" ToolTip="Choose your image to add to movie" />
// C#代码
public partial class index : System.Web.UI.Page
{
static string unusedPic;
protected void Page_Load(object sender, EventArgs e)
{
Page.Form.Attributes.Add("enctype", "multipart/form-data");
if (FileUpload1.HasFile)
{
string ulFile = DateTimeOffset.Now.ToUnixTimeMilliseconds().ToString() + FileUpload1.FileName;
FileUpload1.SaveAs(Server.MapPath("~/Pics/" + ulFile));
}
}
}
解决方案
推荐阅读
- javascript - 信用卡验证 - 带有空格的匹配模式
- css - Swiper js 不会自动调整 swiper-container 和 swiper-slide 类的大小
- c++ - 链接 GLFW 文件时出错
- flutter - 我可以在我的 Flutter 应用程序中使用其他一些 Youtube 视频吗
- python - add_finished_callback() 中没有事务 - 如何重新启动?
- javascript - 如何按 AM/PM 时间属性订购此 JSON 响应?
- javascript - 使用递归javascript反转字符串
- python - ModuleNotFoundError:没有名为“praw”的模块
- android - Android Studio , startService() 每次调用 stopService() 和 startService() 时都会创建对象
- python-3.x - UnexpectedTagNameException:消息:选择仅适用于