连接已在 Upload Telerik 中重置

发布于 2024-12-11 09:59:33 字数 4068 浏览 0 评论 0原文

我编写了一个类似 telerik Upload demo 的示例,但在提交时出现以下错误(在 FF 中):

连接已重置。

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;
        }
    }
} 

谢谢!!!!

I code a example like telerik Upload demo but have the following error when submit(in FF):

The connection was reset.

The demo of telerik RadUpload is here

This is the code of .aspx file:

<%@ 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>

And the code behind in *.cs file:

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;
        }
    }
} 

Thanks!!!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

魂ガ小子 2024-12-18 09:59:34

我将继续以几乎 100% 的把握告诉您,导致此问题的原因是:

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

可能是您没有连接服务器的权限,或者是各种其他问题。

要测试此更改,请将“var targetFolder”更改为:

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

运行此命令,它可以正常工作,因此您尝试在服务器上访问的路径是问题所在。

如果可能的话,也许您应该指定路径。例如,如果您位于域中:

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

这将访问该服务器,然后访问我在域中拥有的用户文件夹。

I'll go ahead and tell you with almost 100% certainty that the line that is causing this is:

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

It could be that you do not have permission to connect the server, or a variety of other issues.

To test this change "var targetFolder" to something like:

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

Run this and it works perfectly, hence the idea that the path you're trying to access on the server is the problem.

Perhaps you should specify the path if possible. For example, if you are on a domain:

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

This would access that server and then the users folder therein that I have on my domain.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文