首页 新闻 会员 周边

文件上传与转码

0
悬赏园豆:200 [已解决问题] 解决于 2013-05-12 18:23

在我们项目有一个这样的一个需求,要将大文件上传到服务器,其间要考虑多浏览器(ie,Safari等)和多设备(pc,ipad)或者是ios等,传上去之后要将文件转换为指定的格式,比如说:将mp4转换为flv,将pdf转换为jpg等格式,由于考虑到多浏览器多设备在上传的时候有些棘手,现在公司拿不出一个比较好的方案来处理这个事情,个人愚见C#目前没有能力处理这种情况,而且上传之后还要转码,根据我对C#转码程序的监测,在转码时内存占用特高, 在转码完成之后我都GC了,但是都没啥作用,想问牛人是不是可以时时释放内存......  求代码,....

C#
等待是一生最初的苍老的主页 等待是一生最初的苍老 | 初学一级 | 园豆:3
提问于:2012-12-03 09:40
< >
分享
最佳答案
0

文件上传会按照文件的原始数据传输(RAW DATA),在任何平台下都是通用的,不知道你提到的在多浏览器下的棘手问题是什么?

转码代码占用内存较高以及不能释放内存的问题,一是确定转码代码本身的实现是否有问题;二是确定调用转码代码的方式是否正确。

由于转码代码不是标准库,因此你应该向开发此转码库的厂商咨询。

收获园豆:90
Launcher | 高人七级 |园豆:45045 | 2012-12-03 10:06

多浏览器上传我本来是想用flash的,但是像苹果等不支持,如果这样的话我将要开会多种方案来处理这个事...

等待是一生最初的苍老 | 园豆:3 (初学一级) | 2012-12-03 10:26

@objectboy: 文件上传可以使用HTML+JS来实现。

Launcher | 园豆:45045 (高人七级) | 2012-12-03 10:40
其他回答(6)
0

你的侧重点是想问多浏览器上传,还是是不是可以实时释放内存

收获园豆:10
Rich.T | 园豆:3440 (老鸟四级) | 2012-12-03 09:58

其实现在两个问题都是很棘手,嘻嘻  ,不过比起上传来说编码是最痛苦的 ,求解...

0

不知道 多浏览器和多设备,视频转码 这个需求是谁提出来?

现在浏览器的安全性越来越高,否则就会漏洞百出,所以要开发一个功能强大的上传组件是一定要用各种插件帮助。例如 flash,Silverlight,ActiveX。

至于mp4转换为flv,这个用C#调用第三方 ffmpeg 来实现,而且 ffmpeg 是开源。但也不一定保证所有的 MP4文件都可以通过ffmpeg 转换成 flv,其实这个可以先让用户自己转换好再上传。

收获园豆:80
geass.. | 园豆:1821 (小虾三级) | 2012-12-03 12:05

公司领导都是苹果迷,ipad迷,一定要在这些设备上成功他们才能说通过,转码的话是可以实现,只是在转码时内存占用高,这个问题实在太困恼了..像您所说的要求用户转码完成之后再上传这样好像不太现实,因为转码的格式有很多种,比如将mp4转化为flv,将mvm转化为jpg等,如果是jpg的话根本就没法上传了(往往转化为jpg的话会有很多张),,,这类需求确实有点蛋疼

@objectboy: 你的视频转换完全是用 C#写的吗。其实服务器同时开5-10个线程来调用 ffmpeg 转换是完全没问题的。

支持(0) 反对(0) geass.. | 园豆:1821 (小虾三级) | 2012-12-03 13:26

@geass..: 是的,我现在的视频转码完全都是用C# 写的,  您所说的在服务器开5-10个线程是将文件分块,然后在每个文件块占用一个线程进行转码是吗? 

@objectboy: 1一个线程转换一个文件,5个线程就是同时转换5个不同的视频文件

支持(0) 反对(0) geass.. | 园豆:1821 (小虾三级) | 2012-12-03 14:30
0

浏览器上次就用js来实现,这样就能跨设备、跨浏览器了

把转码代码放上来看看吧

收获园豆:10
az235 | 园豆:8483 (大侠五级) | 2012-12-03 15:44

我倒是想看下你的 JS 上传文件的代码怎么写。不会就一个 <input type="file" /> 控件,把整个文件一次 POST 提交到 服务器 就完了吧。万一临时断网了,又要重新 整个上传一次。

支持(0) 反对(0) geass.. | 园豆:1821 (小虾三级) | 2012-12-04 13:20
0

学习...

只会造轮子 | 园豆:2274 (老鸟四级) | 2012-12-05 10:59
0

学习

AngelGong | 园豆:254 (菜鸟二级) | 2012-12-06 14:20
0

http://www.51aspx.com/CodeFile/Media2Flv/App-Code/PublicMethod.cs.html

这地址就是做的上传视频,图片什么的以后,转码的工具和dome,我也是用的这个办法,可以值得一试

HuangChengYuan | 园豆:121 (初学一级) | 2012-12-20 14:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册