File upload 在ipad上使用MVC2和ios6上传文件

File upload 在ipad上使用MVC2和ios6上传文件,file-upload,asp.net-mvc-4,ios6,File Upload,Asp.net Mvc 4,Ios6,我有一个MVC2 web应用程序,其中我有一个包含以下简单表单的视图: <%using (Html.BeginForm("Action", "Controller", FormMethod.Post, new { enctype = "multipart/form-data", @id = "frmAddNewObservationPhoto" })) {%> <%= Html.AntiForgeryToken()%> <strong>1.

我有一个MVC2 web应用程序,其中我有一个包含以下简单表单的视图:

<%using (Html.BeginForm("Action", "Controller", FormMethod.Post, new { enctype = "multipart/form-data", @id = "frmAddNewObservationPhoto" }))
  {%>
    <%= Html.AntiForgeryToken()%>
    <strong>1. Enter Photo Description</strong><br />
    <%= Html.TextArea("photoDescription", Model.photoDescription, new { @style = "height: 100px", @id = "photoDescription" })%><br />
    <strong>
        2. Browse New Photo:<br />
        <%= Html.HiddenFor(x => x.questionNo)%>
        <%= Html.HiddenFor(x => x.observationID)%>        
        <input id="file" type="file" name="file">
        <a class="resolveTask" href="javascript:AddNewObservationPhoto()"></a><br />
        Or Select Saved Photo: <br />         
    </strong> 
    <br />
<%} %>
[HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult AddNewObservationPhoto(Guid observationID, string photoDescription, decimal questionNo)
    {
        TaskFireObservations fireObservation = FireHelper.GetObservationByID(observationID, _session);

        if (Request.Files.Count > 0)
        {
function AddNewObservationPhoto() {
   var photoDescription = $('#photoDescription').val();
   if (photoDescription.length == 0) {
       alert('Please enter the photo description');
   }
   else {
       $('#frmAddNewObservationPhoto').submit();           
   }
完成时,javascript如下所示:

<%using (Html.BeginForm("Action", "Controller", FormMethod.Post, new { enctype = "multipart/form-data", @id = "frmAddNewObservationPhoto" }))
  {%>
    <%= Html.AntiForgeryToken()%>
    <strong>1. Enter Photo Description</strong><br />
    <%= Html.TextArea("photoDescription", Model.photoDescription, new { @style = "height: 100px", @id = "photoDescription" })%><br />
    <strong>
        2. Browse New Photo:<br />
        <%= Html.HiddenFor(x => x.questionNo)%>
        <%= Html.HiddenFor(x => x.observationID)%>        
        <input id="file" type="file" name="file">
        <a class="resolveTask" href="javascript:AddNewObservationPhoto()"></a><br />
        Or Select Saved Photo: <br />         
    </strong> 
    <br />
<%} %>
[HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult AddNewObservationPhoto(Guid observationID, string photoDescription, decimal questionNo)
    {
        TaskFireObservations fireObservation = FireHelper.GetObservationByID(observationID, _session);

        if (Request.Files.Count > 0)
        {
function AddNewObservationPhoto() {
   var photoDescription = $('#photoDescription').val();
   if (photoDescription.length == 0) {
       alert('Please enter the photo description');
   }
   else {
       $('#frmAddNewObservationPhoto').submit();           
   }
})

我的问题是,当我在iPad版本6.0.1(因此是mobile safari浏览器)上测试时,没有文件发布到该操作。我已经在ipad的chrome浏览器上进行了测试,它在那里运行良好。我也在一个在线ipad模拟器上进行了测试,它可以正常工作;i、 e.所选文件将发布到操作,然后保存到相关位置

有人知道为什么会这样吗?我希望我对这个问题解释得足够清楚


谢谢。

我把这归因于mobile safari中的一个错误,因为这是间歇性发生的,即在某些情况下,文件会被发布,而在其他情况下,它什么也不做。

您好。我对我的问题有好几种看法,但没有答案。关于我的问题有什么建议吗?谢谢