Соединение было сброшено в Upload Telerik - PullRequest
1 голос
/ 21 октября 2011

Я кодирую пример, такой как telerik Upload demo, но при отправке выдает следующую ошибку (в FF):

The connection was reset.

Демо Telerik RadUpload здесь

Это код файла .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;
        }
    }
} 

Спасибо !!!!

1 Ответ

0 голосов
/ 21 октября 2011

Я продолжу и скажу вам с почти 100% уверенностью, что линия, вызывающая это:

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

Возможно, у вас нет разрешения на подключение к серверу или есть другие проблемы.

Чтобы проверить это изменение "var targetFolder" на что-то вроде:

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

Запустите это, и оно отлично работает, поэтому идея о том, что путь, по которому вы пытаетесь получить доступ на сервере, является проблемой.

Возможно, вам следует указать путь, если это возможно. Например, если вы находитесь в домене:

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

Это позволит получить доступ к этому серверу, а затем к папке пользователей на нем, которая находится в моем домене.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...