【发布时间】:2016-05-12 07:16:40
【问题描述】:
我正在使用 FileUpload 控件上传多个文件,它确实成功,但问题是当我在上传后下载文件时,它会损坏,即 .pdf、.docx 等。经检查,我发现问题出在上传控件上,因为上传后我检查了服务器目录中的文件并尝试打开它,但文件抛出错误,即文件已损坏。
我检查了服务器目录中每个上传的文件,它也不起作用,所以问题是它上传不正确
protected void UploadIncomingLetterMaterial(int CaseLetterID)
{
if (FileUpload1.HasFiles)
{
foreach (HttpPostedFile uploadedfiles in FileUpload1.PostedFiles)
{
string fileName = Path.GetFileName(uploadedfiles.FileName);
FileUpload1.PostedFile.SaveAs(Server.MapPath("~/SiteImages/") + fileName);
mngUploadedMaterialIncomingLetters.InsertUploadedMaterialIncomingLetters(fileName, "", CaseLetterID);
}
更新:
问题是当我上传多个文件时,它会使所有文件的大小相同。与循环中第一个文件的大小相同。
【问题讨论】:
-
您的问题目前还不清楚。 “扩展是正确的但仍然不正确”是什么意思? “它打开时大小相同”是什么意思?您还没有解释是什么让您认为文件已损坏 - 您的标题表明您认为文件上传控件不会损坏文件...
-
您正在获取具有正确扩展名的文件?还检查了服务器中的文件大小(已上传)和原始文件大小?
-
@AlexeiLevenkov 检查更新的问题,我在两行之间进行了编辑
-
@JonSkeet 检查更新的问题,我更改了标题和详细信息
-
@JonSkeet 我刚刚再次检查,问题是当我上传多个文件时,它使所有文件的大小相同,即与第一个上传文件的大小相同
标签: c# asp.net ajax file-upload webforms