2011-10-21 40 views
1

我的代碼像Telerik的上傳演示一個例子,但有下列錯誤時(在FF)提交:連接在上傳Telerik的重置

The connection was reset.

Telerik的RadUpload的演示是here

這是.aspx文件的代碼:

<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage1.master" AutoEventWireup="true" CodeFile="Upload.aspx.cs" Inherits="Main_Upload" %> 

<%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server"> 
<title>Upload file</title> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server"> 
<telerik:RadScriptManager ID="rsmScriptManager" runat="server"> 
</telerik:RadScriptManager> 
<telerik:RadProgressManager ID="rpmUploadFile" runat="server" /> 
<div style=" color:Green">Valid files(*.doc, *.docx, *.xls, *.xlsx, *.pdf)</div> 
<telerik:RadUpload ID="rulFiles" runat="server" InitialFileInputsCount="2" MaxFileInputsCount="5" AllowedFileExtensions=".doc,.docx,.xls,.xlsx,.pdf"> 
</telerik:RadUpload> 
<telerik:RadProgressArea runat="server" ID="rpaUpload"></telerik:RadProgressArea> 
<asp:Button ID="btnUpload" runat="server" Text="Ok" OnClick="btnUpload_Click" /> 
<br /> 
<asp:Label ID="lblNoResults" runat="server" Visible="True">No uploaded file!</asp:Label> 
<asp:Repeater ID="rptValidResults" runat="server" Visible="false"> 
    <ItemTemplate> 
     <%#DataBinder.Eval(Container.DataItem,"FileName") %>(<%#DataBinder.Eval(Container.DataItem,"ContentLength").ToString() + " bytes" %>)<br /> 
    </ItemTemplate> 
</asp:Repeater> 

<div style="color: red; padding-top: 40px;">Invalid files:</div> 
<asp:Label id="lblNoInvalidResults" runat="server" Visible="True">No invalid files.</asp:Label> 
<asp:Repeater ID="rptInvalidResults" runat="server" Visible="false"> 
    <ItemTemplate> 
     File: <%#DataBinder.Eval(Container.DataItem,"FileName") %>(<%#DataBinder.Eval(Container.DataItem,"ContentLength").ToString() + " bytes" %>)<br /> 
     Mime-type: <%#DataBinder.Eval(Container.DataItem,"ContentType") %> 
    </ItemTemplate> 
</asp:Repeater> 

而在* cs文件後面的代碼:

using System; 
using System.Collections.Generic; 
using System.IO; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using Telerik.Web.UI; 

public partial class Main_Upload : System.Web.UI.Page 
{ 
    protected void btnUpload_Click(object sender, EventArgs e) 
    { 
     BindValidResult(); 
     BindInvalidResult(); 
    } 

    private void BindValidResult() 
    { 
     if(rulFiles.UploadedFiles.Count > 0) 
     { 
      foreach (UploadedFile validFile in rulFiles.UploadedFiles) 
      { 
       var targetFolder = Server.MapPath(Commons.PAGER.UPLOAD_FOLDER); 
       validFile.SaveAs(Path.Combine(targetFolder,validFile.GetName()),true); 
      } 

      lblNoResults.Visible = false; 
      rptValidResults.Visible = true; 
      rptValidResults.DataSource = rulFiles.UploadedFiles; 
      rptValidResults.DataBind(); 
     } 
     else 
      { 
      lblNoResults.Visible = true; 
      rptValidResults.Visible = false; 
     } 
    } 

    private void BindInvalidResult() 
    { 
     if(rulFiles.InvalidFiles.Count > 0) 
     { 
      lblNoInvalidResults.Visible = false; 
      rptInvalidResults.Visible = true; 
      rptInvalidResults.DataSource = rulFiles.InvalidFiles; 
      rptInvalidResults.DataBind(); 
     } 
     else 
     { 
      lblNoInvalidResults.Visible = true; 
      rptInvalidResults.Visible = false; 
     } 
    } 
} 

謝謝!!!!

回答

0

我會繼續前進,告訴你,幾乎100%的把握認爲導致此行是:

var targetFolder = Server.MapPath(Commons.PAGER.UPLOAD_FOLDER); 

這可能是因爲您沒有權限來連接服務器,或各種其他問題。

爲了測試這種變化「VAR targetFolder」喜歡的東西:

var targetFolder = @"C:\Users\j\Desktop\TEMP\" 

運行這和它完美的作品,因此想法,你試圖訪問服務器上的路徑問題。

也許你應該指定路徑如果可能的話。例如,如果你在一個領域:

var targetFolder = @"\\server\Users\" 

這將訪問該服務器,然後將用戶文件夾,在其中,我有我的域名。