Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用C从服务器上传和下载文件#_C#_Asp.net_File Upload_Download - Fatal编程技术网

C# 如何使用C从服务器上传和下载文件#

C# 如何使用C从服务器上传和下载文件#,c#,asp.net,file-upload,download,C#,Asp.net,File Upload,Download,我正在开发一个网页,用户可以下载他们的简历进行编辑。所以我有一个链接来下载这篇文章。我使用以下代码进行下载 DataTable dt = user.getUserDetails(2); user.WriteFileFromDBbyUserArticleID(Server.MapPath(Convert.ToString(dt.Rows[0].ItemArray[0])), Convert.ToInt32(2), "CV"); FileUtil.writeFileToResponse(Server

我正在开发一个网页,用户可以下载他们的简历进行编辑。所以我有一个链接来下载这篇文章。我使用以下代码进行下载

DataTable dt = user.getUserDetails(2);
user.WriteFileFromDBbyUserArticleID(Server.MapPath(Convert.ToString(dt.Rows[0].ItemArray[0])), Convert.ToInt32(2), "CV");
FileUtil.writeFileToResponse(Server.MapPath(Convert.ToString(dt.Rows[0].ItemArray[0])), Response);

////////////////////////////////////////////////
public void WriteFileFromDBbyUserArticleID(string FilePath, int UserID, string FileType)
{
    DataAccessLayer dal = new DataAccessLayer();

    string selectQuery = "Select Articles.Users_WriteFileFromDB(?,?,? ) from Articles.Users";

    DbParameter[] parm = new DbParameter[3];
    parm[0] = dal.GetParameter();
    parm[0].ParameterName = "@FilePath";
    parm[0].Value = FilePath;

    parm[1] = dal.GetParameter();
    parm[1].ParameterName = "@UserID";
    parm[1].Value = UserID;

    parm[2] = dal.GetParameter();
    parm[2].ParameterName = "@FileType";
    parm[2].Value = FileType;

    DataTable dtArticleStatus = dal.ExecuteDataTable(selectQuery, parm);
}

///////////////////////////////////////////////////////////////////////////
static public void writeFileToResponse(string filePath,HttpResponse Response)
{
    try
    {
        string FileName = Path.GetFileName(filePath);
        Response.Clear();
        Response.AddHeader("Content-Disposition", "attachment; filename=" + FileName);
        Response.WriteFile(filePath);
        Response.Flush();
        File.Delete(filePath);
        Response.End();
    }
        catch (System.Exception ex)
    {
    }
}
我在“Response.WriteFile(filePath);”行中得到错误,如下所示

sys.webforms.pagerequestManagerparserErrorException:无法分析从服务器收到的消息。此错误的常见原因是当通过调用response.write()修改响应、启用响应筛选器、httpModules或服务器跟踪时。 详细信息:在附近分析时出错


如何修复此问题?

您可以使用响应流将文档流回

这可能会让你走


您可以使用响应流将文档流回

这可能会让你走


您正在使用ASP.NET吗?请尝试使用HtmlInputFile进行上载


您正在使用ASP.NET吗?请尝试使用HtmlInputFile进行上载


对于上载文件,您可以使用
asp:FileUpload
控件和简单使用
SaveAs
方法。但请注意,如果将它与部分更新对象(
asp:UpdatePanel
)结合使用,则必须设置触发器。如果不使用触发器,可以重置控件。

对于上载文件,可以使用
asp:FileUpload
控件和简单使用
SaveAs
方法。但请注意,如果将它与部分更新对象(
asp:UpdatePanel
)结合使用,则必须设置触发器。如果您不使用触发器
asp:FileUpload
控件可以重置…

那么到底是什么问题?应该有信誉评分,允许您投票给用户进行关闭,我会投票给Sakthivel.进行关闭?我能做些什么来避免呢?那么到底是什么问题呢?应该有信誉评分,让你可以投票给用户接近,我会投票给Sakthivel。接近?我能做些什么来避免呢?嗯,我主要是按照题目来做的,因为这个问题有点让人困惑,但是再看一遍,你可能是对的。不管怎样,把这个答案留在这里会帮助其他用户从标题中找到这个问题。嗯,我主要是按照标题来做的,因为这个问题有点让人困惑,但是再看一遍,你可能是对的。不管怎样,把这个答案留在这里将帮助其他用户从标题中找到这个问题。
public class FileHandler : IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
        if (context.Request["file"] != null)
        {
            try
            {
                string file = context.Server.MapPath("~/files/" + context.Request["file"].ToString());
                FileInfo fi = new FileInfo(file);
                if (fi.Exists)
                {
                    context.Response.ClearContent();
                    context.Response.AddHeader("Content-Disposition", "attachment; filename=" + fi.Name);
                    context.Response.AddHeader("Content-Length", fi.Length.ToString());
                    string fExtn = "video/avi";
                    context.Response.ContentType = fExtn;
                    context.Response.TransmitFile(fi.FullName);
                    context.Response.End();
                }
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex.Message);
            }
        }
    }

    public bool IsReusable
    {
        get { return true; }
    }
}