【百分求助】FTP上传大文件,如何列表显示,下载,邮件通知,及相关问题,求解决办法。

Animatrix 2007-12-17 03:50:52
100分求助。

现在的需求是这样的:

我要做的是一个这样的系统,用户通过网站上传图片到公司FTP服务器,公司里的美工就可以找到这些图片,并且可以根据条件(比如用户名)来搜索到具体是哪些图片。

用户可能是在世界各地,登陆网站后,可以上传最多15张照片(有的照片可能很大),要求上传通过FTP来上传,FTP服务器在日本,也就是说要上传到日本的服务器上。

现在的问题是:

1,我没做过用ASP.NET来进行FTP上传,查了查资料,勉强做了个例子,功能测了下勉强能用,我想问问用ASP.NET来进行FTP上传,支持断点续传吗?我分析了下理论上说,这是不可能的,那么传这15张照片的时候,失败了(比如断电,断网,超时),这个怎么处理?就在FTP服务器上留一堆垃圾文件么?有没有什么办法,在传这15张图片的时候失败的话就全删掉?(比如用户AAA传了10张了,在传11张的时候,出错了,那么现在就把这个用户AAA传的1到11张图片全部删掉),然后提示“上传失败,请重新上传!”我现在做不到这个功能。

2,美工怎么搜索这些已经传到FTP上的照片?那怎么才能把FTP上的这些图片读出来,绑定到比如GRIDVIEW上显示出来,并让美工可以搜索,还能选择下载呢?我现在完全没头绪,我现在想的办法是,上传一张图片就往数据库里插条数据记录该图片的FTP路径,到时候往GRIDVIEW上一绑,完事,但是这样做也不好,万一数据库里有记录,而FTP上没这张图片,那又麻烦了(比如FTP上传图片因为超时失败了,但是插入数据库却成功了,就会出现这样的情况吧),实在不知道怎么做。

3,上传成功后还要自动发邮件给客户和美工,这个我也不知道怎么做,我怎么才能判断是否FTP上传成功呢?似乎也没办法判断。

4,下载成功后该文件要标记为“已下载”,那就是说肯定要有数据库某张表来记录上传的图片的信息,表里肯定要设计个字段为“是否已下载”,那这又关系到第2个问题了,万一数据库里有记录而FTP上没图片(上传失败导致),又不好办。

求解决办法,说下思路也可以。
...全文
324 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
luojianbo 2007-12-25
  • 打赏
  • 举报
回复
怎么使用FTP的
Animatrix 2007-12-18
  • 打赏
  • 举报
回复
继续关注
问题解决了马上给分
数据库不是我设计,我等别人给我数据库
到时候估计还会遇见很多问题
Animatrix 2007-12-17
  • 打赏
  • 举报
回复
事务,支持3楼
====================
还是那个问题
上传文件到FTP,这个可以写进事务里吗?
我现在在家,下班了,代码在公司,没办法测试
haomas 2007-12-17
  • 打赏
  • 举报
回复
事务,支持3楼
Animatrix 2007-12-17
  • 打赏
  • 举报
回复
你首先应该有一个判断用户要上传了是不!!!!!
然后,去读服务器是否有文件存在
====================================
我想过啊?
关键是FTP这个东西,你上传一个文件,就算上传到一半然后上传失败了,他的文件名也是正确的啊。。。
比如传5M的图片"a.jpg",传到一半了页面关掉,FTP服务器上照样有"a.jpg",只是大小不正确而已
那么这样说来还要判断下大小

倒。。写不完了,下班了
要走了
回家继续关注。
qq22345111 2007-12-17
  • 打赏
  • 举报
回复
你首先应该有一个判断用户要上传了是不!!!!!
然后,去读服务器是否有文件存在
在然后写数据库!
你发送一个异常给你就行了!
try
{
上传文件是否完成
//PS:第一步,判断用户上传大小
第二步,当用户完成"所谓"的文件,取值比较

}
catch
{
如果没上传完,执行一段删除文件的操作!
}
Animatrix 2007-12-17
  • 打赏
  • 举报
回复
现在的CSDN搜索实在是不爽啊
搜了一天,眼睛都看花了都没看出个所以然
那个上传到FTP这个操作也可以写进事务里???
这个可不是操作数据库的表啊
qq22345111 2007-12-17
  • 打赏
  • 举报
回复
其余的都是属于实现的问题了!
简单看了下 也不是很那,楼主用心应该不的问题了!
你把你提到的4个问题 分开在CSDB搜索,全部都有答案
qq22345111 2007-12-17
  • 打赏
  • 举报
回复
一个方法应该就可以了!
当用户上传文件的时候往数据库添加数据,使用sql事务
如果上传完成才插入数据库,并保存文件
如果事务会自动回滚 不执行数据库插入记录!
kingj2018 2007-12-17
  • 打赏
  • 举报
回复
其实关键在于:怎么判断图片上传成功?

PS:沙发,哈哈
kingj2018 2007-12-17
  • 打赏
  • 举报
回复
1 如果上传失败就要全部重新上传,还要断点续传干嘛?
2.可以这样:在图片上传成功后设置一种状态。如果在这种状态下,再更新数据库
3.我也不会。。。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧