0

编辑: 今天早上我用 iphone 4 对其进行了测试,它工作得很好,所以它可能特定于 Android(我使用的是 4.1.2 版)Vs 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

我想知道其他人是否可以在演示页面上对其进行测试,并让我知道它是否有效。如果没有,任何人都可以从手机上传文件的替代解决方案?

谢谢 !

塞巴斯蒂安

4

1 回答 1

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) 做代码

干杯!

于 2013-04-25T15:42:23.500 回答