【问题标题】:Store files temporarily on server until a task is completed将文件临时存储在服务器上,直到任务完成
【发布时间】:2011-09-25 05:40:05
【问题描述】:

我无法使用会话。

因此,场景如下:我希望用户上传一张图片,但该图片需要具有特定的尺寸。所以我允许他们上传任何大小的图像,将其临时存储在服务器上(调整大小使其适合网页),将其显示给用户,让用户裁剪它。然后我将裁剪详细信息发送回服务器,裁剪图像并保存并将其用作用户个人资料图片。

我尝试在上传之前完成所有这些操作,但显然存在安全风险并且不允许。

那么我如何临时存储这个文件呢?如果用户在裁剪之前没有回来怎么办,我不希望在我的服务器上放置像这样的大图像。我将如何在这样的无状态应用程序中删除文件?

文件存储在 CDN 上。

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-3 cdn rackspace-cloud


    【解决方案1】:

    有很多方法可以解决这个问题,但也许一种简单的方法是,每次上传文件时,调用一个小例程来检查并删除任何超过 xxx 分钟的“大”文件。

    或者,在任务调度程序中安排一个作业每隔 xxx 分钟执行一次。

    【讨论】:

    • 我不知道什么是任务调度程序。这是在 asp.net 中还是在 iis 中?
    • 它在 Windows 中,您需要访问机器才能执行此操作,即物理或通过 RDP。如果您将其托管在您的 ISP 的共享帐户上,那么它很可能不是一个选项,因此请选择选项 A - 让每个文件上传过程做一些小清洁作为服务请求的一部分,即摆脱孤立的文件。
    • Quartz.NET 是一个任务/作业调度器的例子。
    【解决方案2】:

    可以使用TempData,和Session类似,但是被读取后就死掉了。

    【讨论】:

    • 这需要重新上传图片吗?
    猜你喜欢
    • 2021-10-06
    • 2012-04-16
    • 2015-07-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-23
    • 2022-06-22
    • 1970-01-01
    • 2019-04-08
    相关资源
    最近更新 更多