Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.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# ASP.NET-使用会话存储文件上载对象_C#_Asp.net_Image_File Upload - Fatal编程技术网

C# ASP.NET-使用会话存储文件上载对象

C# ASP.NET-使用会话存储文件上载对象,c#,asp.net,image,file-upload,C#,Asp.net,Image,File Upload,我想存储一个FileUpload对象,该对象包含会话中的图像。然后在下一页,我想将图像保存到一个文件夹中。我可以做到这一点,没有任何问题,但当我试图存储一个更大的图像,图像变成0kb和Windows照片查看器说,该文件是空的。这是我的密码: 上传表单页面(C): //FileUploadPicture is of type FileUpload Session["fileupload_object"] = FileUploadPicture; Boolean imageUploadStatus

我想存储一个
FileUpload
对象,该对象包含
会话中的图像。然后在下一页,我想将图像保存到一个文件夹中。我可以做到这一点,没有任何问题,但当我试图存储一个更大的图像,图像变成0kb和Windows照片查看器说,该文件是空的。这是我的密码:

上传表单页面(C):

//FileUploadPicture is of type FileUpload
Session["fileupload_object"] = FileUploadPicture;
Boolean imageUploadStatus = false;
string imageExtension = System.IO.Path.
    GetExtension(((FileUpload)Session["fileupload_object"]).FileName);
string[] acceptedImageExtensions = { ".gif", ".png", ".jpg", ".jpeg" };

for (int i = 0; i < acceptedImageExtensions.Length; i++)
{
    if (imageExtension.Equals(acceptedImageExtensions[i],
        StringComparison.InvariantCultureIgnoreCase))
        {
            imageUploadStatus = true;
        }
}

try
{

((FileUpload)Session["fileupload_object"]).PostedFile.
    SaveAs(imagePath + ((FileUpload)Session["fileupload_object"]).FileName);

}

catch (Exception ex) { }
Session["fileupload_filename"] = FileUploadPictureOfPaymentStatement.FileName;
HttpPostedFile httpPostedFile = FileUploadPictureOfPaymentStatement.PostedFile;
System.Drawing.Image image = Bitmap.FromStream(httpPostedFile.InputStream);
Session["image"] = image;
Boolean imageUploadStatus = false;
string imageExtension = System.IO.Path.GetExtension((Session["fileupload_filename"])
    .ToString());
string[] acceptedImageExtensions = { ".gif", ".png", ".jpg", ".jpeg" };
for (int i = 0; i < acceptedImageExtensions.Length; i++)
{
    if (imageExtension.Equals(acceptedImageExtensions[i], 
        StringComparison.InvariantCultureIgnoreCase))
    {
        imageUploadStatus = true;
    }
}

if(imageUploadStatus)
{
    try
    {
        ((System.Drawing.Image)Session["image"])
            .Save(imagePath + Session["fileupload_filename"].ToString());
    } catch(Exception ex) { }
}
将图片保存到文件夹页面(C#):

//FileUploadPicture is of type FileUpload
Session["fileupload_object"] = FileUploadPicture;
Boolean imageUploadStatus = false;
string imageExtension = System.IO.Path.
    GetExtension(((FileUpload)Session["fileupload_object"]).FileName);
string[] acceptedImageExtensions = { ".gif", ".png", ".jpg", ".jpeg" };

for (int i = 0; i < acceptedImageExtensions.Length; i++)
{
    if (imageExtension.Equals(acceptedImageExtensions[i],
        StringComparison.InvariantCultureIgnoreCase))
        {
            imageUploadStatus = true;
        }
}

try
{

((FileUpload)Session["fileupload_object"]).PostedFile.
    SaveAs(imagePath + ((FileUpload)Session["fileupload_object"]).FileName);

}

catch (Exception ex) { }
Session["fileupload_filename"] = FileUploadPictureOfPaymentStatement.FileName;
HttpPostedFile httpPostedFile = FileUploadPictureOfPaymentStatement.PostedFile;
System.Drawing.Image image = Bitmap.FromStream(httpPostedFile.InputStream);
Session["image"] = image;
Boolean imageUploadStatus = false;
string imageExtension = System.IO.Path.GetExtension((Session["fileupload_filename"])
    .ToString());
string[] acceptedImageExtensions = { ".gif", ".png", ".jpg", ".jpeg" };
for (int i = 0; i < acceptedImageExtensions.Length; i++)
{
    if (imageExtension.Equals(acceptedImageExtensions[i], 
        StringComparison.InvariantCultureIgnoreCase))
    {
        imageUploadStatus = true;
    }
}

if(imageUploadStatus)
{
    try
    {
        ((System.Drawing.Image)Session["image"])
            .Save(imagePath + Session["fileupload_filename"].ToString());
    } catch(Exception ex) { }
}
将图片保存到文件夹页面(C#):

//FileUploadPicture is of type FileUpload
Session["fileupload_object"] = FileUploadPicture;
Boolean imageUploadStatus = false;
string imageExtension = System.IO.Path.
    GetExtension(((FileUpload)Session["fileupload_object"]).FileName);
string[] acceptedImageExtensions = { ".gif", ".png", ".jpg", ".jpeg" };

for (int i = 0; i < acceptedImageExtensions.Length; i++)
{
    if (imageExtension.Equals(acceptedImageExtensions[i],
        StringComparison.InvariantCultureIgnoreCase))
        {
            imageUploadStatus = true;
        }
}

try
{

((FileUpload)Session["fileupload_object"]).PostedFile.
    SaveAs(imagePath + ((FileUpload)Session["fileupload_object"]).FileName);

}

catch (Exception ex) { }
Session["fileupload_filename"] = FileUploadPictureOfPaymentStatement.FileName;
HttpPostedFile httpPostedFile = FileUploadPictureOfPaymentStatement.PostedFile;
System.Drawing.Image image = Bitmap.FromStream(httpPostedFile.InputStream);
Session["image"] = image;
Boolean imageUploadStatus = false;
string imageExtension = System.IO.Path.GetExtension((Session["fileupload_filename"])
    .ToString());
string[] acceptedImageExtensions = { ".gif", ".png", ".jpg", ".jpeg" };
for (int i = 0; i < acceptedImageExtensions.Length; i++)
{
    if (imageExtension.Equals(acceptedImageExtensions[i], 
        StringComparison.InvariantCultureIgnoreCase))
    {
        imageUploadStatus = true;
    }
}

if(imageUploadStatus)
{
    try
    {
        ((System.Drawing.Image)Session["image"])
            .Save(imagePath + Session["fileupload_filename"].ToString());
    } catch(Exception ex) { }
}
Boolean imageUploadStatus=false;
字符串imageExtension=System.IO.Path.GetExtension((会话[“文件上传\文件名])
.ToString());
字符串[]acceptedImageExtensions={.gif“,.png“,.jpg“,.jpeg”};
for(int i=0;i
正如菲利佩·德古奇(Felipe Deguchi)在评论中指出的那样,这个问题只是一个重复的问题

我只需要补充一点:

<system.web>
<httpRuntime executionTimeout="90" 
             maxRequestLength="20000" 
             useFullyQualifiedRedirectUrl="false" 
             requestLengthDiskThreshold="8192"/>
</system.web>


在我的
Web.config

嗨,你试过了吗?如果你真的,真的,必须在会话中存储这个,不要存储实际的文件上传控制-保存文件数据本身。另外,你如何处理
imageUploadStatus
?您没有真正验证是否只保存已接受的扩展这是个坏主意,在会话中存储图像的数据量…@Darren是的,我已更改为只将
文件名和
文件字节存储到
会话中,但问题仍然存在。