编辑: 今天早上我用iphone 4进行了测试,并且它的工作非常完美,所以它在Android上可能是特定的(我使用的是4.1.2版本)和AsyncUpload Control
我目前正在网页上创建一个文件上传部分,可以在每种类型的设备(计算机,平板电脑和手机)上查看。当我在标准计算机上测试文件上传部分时,一切都很完美。当我在手机上测试它(我正在使用带有所有最新更新的三星Galaxy S2)时,我可以访问手机上的文件。我可以选择我想要的文件,它似乎完全上传(我从telerik控件获得绿点,这意味着上传已成功)但实际上是在控件的模板目录中创建的文件(app_data \ RadUploadTemp )的大小为0字节。因此,当我按下提交按钮时,在我的工作目录中复制的文件无效,无法读取。您可以在telerik演示页面上自行测试。
http://demos.telerik.com/aspnet-ajax/asyncupload/examples/additionalfields/defaultcs.aspx
当我从手机上传这个页面上的文件时,文件大小总是0 ...所以从那里我知道它不是我的代码,而是控件和移动浏览器之间的东西。
我在telerik论坛上问了我的问题,但我还没有得到任何答案。
有人知道移动浏览器是否存在使用RadAsyncUpload控件上传文件的限制
顺便说一句,RadAsyncUpload控件首先使用html5 File API,如果浏览器无法使用它,控件将尝试使用flash / silverlight。如果它仍然无法正常工作,它将使用标准IFrame模块上传文件。 以下是有关控件http://www.telerik.com/help/aspnet-ajax/asyncupload-overview.html
的一些文档我想知道其他人是否可以在演示页面上测试它并告诉我它是否有效。如果没有,任何人都有替代解决方案从手机上传文件?
谢谢!
的Sebastien
答案 0 :(得分:0)
以下是解决Android问题的代码。我无法将其纳入我的评论中。
Telerik.Web.UI.RadAsyncUpload.Modules.Flash.isAvailable = function(){return false; }; Telerik.Web.UI.RadAsyncUpload.Modules.FileApi.isAvailable = function(){return false; }; Telerik.Web.UI.RadAsyncUpload.Modules.Silverlight.isAvailable = function(){return false; }; 我只是添加了一种If(android)代码干杯!