MVC与webservice上传文件(图片和视频),希望帮且到一些朋友
最近做一个项目,要把图片和视频传到服务器上(网站与图片服务器分开),在网上找了好久,没找到完整的资料。
自己也折腾了半天,才把完整的代码实现完。可能好多朋友都有实现过,没分享代码吧,写得不好希望不要见笑!!
下面贴代码吧:首先MVC代码:
public string UploadVide()
{
string requesturl = "";
string result = "video/Videoitem/";
HttpFileCollectionBase fileToUpload = Request.Files;
foreach (string file in fileToUpload)
{
var curFile = Request.Files[file]; Stream sr= curFile.InputStream;
byte[] filebyt = new byte[curFile.ContentLength];
Stream fileStream = curFile.InputStream;//建立文件流对象
fileStream.Read(filebyt, , curFile.ContentLength); ServiceReference1.WebMp4serviceSoapClient sf = new ServiceReference1.WebMp4serviceSoapClient();
requesturl= sf.UpLoadStream(filebyt, curFile.FileName, "D:\\Video\\"); } // ServiceReference1.WebMp4serviceSoapClient sf = new ServiceReference1.WebMp4serviceSoapClient();
//sf.u return requesturl;
}
其次:webservice代码:
[WebMethod]
public string UpLoadStream(byte[] fs, string fileName, string requestPath)
{ try
{ string oldName = System.IO.Path.GetFileName(fileName);
string expendName = System.IO.Path.GetExtension(oldName);
string newName = DateTime.Now.ToString().Replace(" ", "").Replace(":", "").Replace("-", "").Replace("/", "");
///定义并实例化一个内存流,以存放提交上来的字节数组
///
MemoryStream m = new MemoryStream(fs);
///定义实际文件对象,保存上载的文件。
FileStream f = new FileStream(requestPath + newName + expendName, FileMode.Create); ///把内内存里的数据写入物理文件
m.WriteTo(f);
m.Close();
f.Close();
f = null;
m = null;
return requestPath + newName + expendName;
}
catch (Exception error) { } return "";
}
返回上传文件URL用于保存到数据库(根据你自己的需求来改)
html代码
<form id="form1" action="/VideoAdmin/UploadVide" method="post" enctype="multipart/form-data">
<table cellspacing="0" cellpadding="0" border="0" class="tableadd">
<tr>
<td>
选择视频:
</td>
<td>
<input id="btnfile" type="file" name="file"><input id="txturl" type="text" name="txturl"
value="D:" /><input id="uploatvoide" type="submit" value="上传视频" />
</td>
</tr>
<tr>
<td>
视频名称
</td>
<td>
<input id="testvideoname" type="text" readonly="readonly" value="dddsds" />
</td>
</tr> </table>
</form>
代码经过测试,是可以的,希望帮到大家,写得不好,还希望不要见笑!
MVC与webservice上传文件(图片和视频),希望帮且到一些朋友的更多相关文章
- ASP.NET、JAVA跨服务器远程上传文件(图片)的相关解决方案整合
一.图片提交例: A端--提交图片 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string u ...
- MVC 使用jQuery上传文件
在ASP.NET MVC Framework中,上传文件真是超级简单,看代码: View <formaction="<%=Url.Action("Process&quo ...
- WebService上传下载图片
WebService服务端 接受要上传的图片 public string UploadImg(byte[] fileBytes, int id) { try { string filePath = M ...
- PHP socket上传文件图片
最近了解了下下socket方面的东西,想做一个socket上传文件的例子. 在网上搜了搜代码执行后,图片数据传输了一半,图片的下半部分是灰色的.然后就自己仿着搜来的代码和php.net 中socket ...
- CXF:通过WebService上传文件,包括大文件的处理
参考网上文章,用CXF发布上传文件接口,并上传大文件的测试. 框架:spring3.1+cxf2.7.6 1.定义文件类实体 import javax.activation.DataHandler; ...
- 基于spring-boot的web应用,ckeditor上传文件图片文件
说来惭愧,这个应用调试,折腾了我一整天,google了很多帖子,才算整明白,今天在这里做个记录和分享吧,也作为自己后续的参考! 第一步,ckeditor(本博文论及的ckeditor版本4.5.6)的 ...
- ASP.NET MVC 4 批量上传文件
上传文件的经典写法: <form id="uploadform" action="/Home/UploadFile" method="post& ...
- ASP.NET MVC 4 Ajax上传文件
这两天一直纠结着表单的问题.想在一个表单里实现三个功能: 输入查询条件,点击查询: 导出查询数据: 上传文件: 方法有很多,乱花渐欲迷人眼,尝试了很多,无果.大致说的是,给不同按钮写js代码,在js代 ...
- 通过PHP CURL模拟请求上传文件|图片。
现在有一个需求就是在自己的服务器上传图片到其他服务器上面,过程:客户端上传图片->存放到本地服务器->再转发到第三方服务器; 由于前端Ajax受限制,只能通过服务器做转发了. 在PHP中通 ...
随机推荐
- 在VIM中进行快速的查找和替换
VIM是被誉为非常高效的文本编辑软件.但是掌握并高效的使用是件有难度的事情.在VIM中进行快速的查找和替换是提高VIM使用效率的重要方法.下面是我在阅读VIM用户手册时整理的一些资料: 行内搜索. f ...
- 分组找ID
select t.name1,t.name2,t.zx from (select row_number()over(partition by name1 order by zx desc)rn, te ...
- grunt不是内部或外部命令错误处理
如题, npm install -g grunt-cli发现grunt命令却不可用, 其实是环境变量问题,但是网上很多给出的方法其实是不准确的, 正确方法,可以通过npm root -g查看路径,之后 ...
- IIS 常见问题集记录
win7 iis7.5 详细错误信息模块 IIS Web Core 通知 BeginRequest 处理程序 尚未确定 错误代码 0x80070021 配置错误 不能在此路径中使用此配置节.如果在父级 ...
- [HTML/HTML5]5 使用链接
5.1 添加指向其它Web页面的链接 无论目标Web页面是否属于你网站的一部分,还是属于其它网站,都可以添加指向其它Web页面的链接.只需要用<a>就可以添加链接. <a href ...
- UI测试 错题分析
从服务器端获取的json对象,可以直接访问对象中的属性 该属性的作用就是C text属性显示节点文本,state属性默认为open 看错行 不能用 ' ' 包裹 state:节点状态,'open' ...
- systemctl命令用法详解
systemctl命令用法详解系统环境:Fedora 16binpath:/bin/systemctlpackage:systemd-units systemctl enable httpd.serv ...
- web.config 修改数据库连接
<connectionstrings> </database=数据库名字 ;uid = 登录数据库的名字;Password = 登录数据库的密码;/> </connect ...
- hexo 本地local4000打不开解决方法
错误:Cannot GET /spadesq.github.io/ (注:spadesq.github.io是原来放hexo文件夹的名字) 由于我后来把hexo文件夹搬迁到别处,但我发现打开本地,地址 ...
- Mac OS X下重启apache
打开终端 重启apache:sudo /usr/sbin/apachectl restart 关闭apache:sudo /usr/sbin/apachectl stop 开启apache:sudo ...