在移动设备上使用AsyncUpload(Galaxy SII)

时间:2013-04-24 12:49:47

标签: mobile browser upload telerik

编辑: 今天早上我用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

1 个答案:

答案 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)代码

干杯!