首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在ASP.NET中为Fileuploads编写Ajax,同时跟踪内存中的文件

在ASP.NET中为Fileuploads编写Ajax,同时跟踪内存中的文件
EN

Stack Overflow用户
提问于 2013-02-22 17:59:22
回答 2查看 620关注 0票数 0

我需要一个Asp.net控件来上传通过Ajax发送文件的多个文件。

此控件可用于将文件存储在文件夹或数据库中,持久化将由将使用我的控件的类决定,而不是由控件本身决定。所以我需要在这里达到一定程度的灵活性。

上传的文件将像文件列表一样存储“我的控制类”,直到使用我的控件的类执行“官方帖子”,这将消耗并最终释放类。

在一个简单的示例中,使用我的控件的表单将使用通过我的控件和upong Save生成的所有上传生成的列表,该表单将读取我的列表并以最好的方式保存它。

这里的问题在于方法:

我不能使用updatePanel,因为它不允许文件输入,而且(afaik)不会保持纯javascript生成的input=files状态。

不可能使用WebMethod属性发送数据,因为它要求我的方法是静态的,这使得无法使用该方法为内存中的对象提供数据。

另一种选择是使用手工Ajax,这并不困难,但我不确定Asp.net将如何表现,它是否在Ajax调用之间保持状态?我可以通过不同的调用在内存对象中访问相同的对象吗?我必须跟踪视图或使用会话吗?使用会话或viewstate(!)是否可行?来保存上传的文件?

增强:问题不是用ajax上传文件,而是使用Blueimp.github.com/jQuery,问题是在不持久化的情况下在服务器端跟踪它们。

示例

让我试着更好地解释:

0)我有一个控件,这个控件有一个属性,它是文件的列表- List<files> FilesUploaded

1)在每次ajax上传时,我将即将出现的文件添加到列表FilesUploaded.Add(FileComingFromAjax)

2)我的控件进入表单(任何表单),当我保存表单BtSave.Click()时,表单类将需要获取文件列表并持久化:它们像这样访问它。注意,文件在内存中,而不是在磁盘或数据库中。

我的疑问是,这些文件会在每次请求之后保留吗?纳米莉:

方法会通过ajax调用,使用相同的列表吗?

当我提交主表单时,列表是否可以通过表单类与我刚刚上传的文件一起访问?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-22 18:03:31

将jQuery和AJAX合并如下:

jQuery Ajax File Upload

How can I upload files asynchronously?

才能达到你的目标。

票数 1
EN

Stack Overflow用户

发布于 2013-02-22 20:17:55

实际上,我认为asp.net可以在ajax请求之间保留对象,但事实并非如此。

我将使用会话,不再害怕将对象添加到会话中,ASP.net, adding objects to a session variable

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15030370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档