导航
  • 主页
  • .NET Framework
  • ASP
  • Web Services
  • .NET互联网桌面应用
  • VB
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • AppLauncher
  • 问答

上传文件到服务器,代码要怎么写?

爛轲 .Net从业者  2016-01-18 05:32:01
现代码只能上传到本地,要上传到服务器要怎么改?服务器那边要怎么接受,我用的是uploadify上传插件。
public ActionResult AppTemplateUpload()
{
Response.ContentType = "text/html";
Response.Charset = "utf-8";
HttpPostedFile file = Request.Files["Filedata"];
decimal size = Convert.ToDecimal(file.ContentLength) / (1024 * 1024);
decimal fileSize = Math.Round(size, 2);
string httpPath = "appapitest.gamersky.com" + "/";
const string upload = "UploadFiles\\AppVersionCode\\";
string uploadPath = AppDomain.CurrentDomain.BaseDirectory + upload;
string identify = DateTime.Now.ToString("yymmddhhmmss");
if (!Directory.Exists(uploadPath))
{
Directory.CreateDirectory(uploadPath);
}
file.SaveAs(uploadPath + identify + file.FileName);

var UploadPath = httpPath + "Template/" + identify + file.FileName;
HttpResult hr = new HttpResult() { StatusCode = 1, Message = UploadPath, OtherParameter = fileSize.ToString() };
return new JsonResult(hr);
}
...全文
408 点赞 收藏 16
写回复
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
爛轲 2016-01-21
有大神能够指教一下吗?
回复
爛轲 2016-01-20
引用 13 楼 caozhy 的回复:
最简单的webclient.uploadfile
我现在就用的是这个,但是会报一个【WebClient 远程服务器返回错误: (500) 内部服务器错误】,服务器那边是MVC接收的,我这个方法要改什么? public JsonResult Method() { foreach (string f in Request.Files.AllKeys) { HttpPostedFileBase file = Request.Files[f]; string nm = Path.GetFileName(file.FileName); file.SaveAs(Server.MapPath(@"d:/" + nm)); AppLog.AppendLog("aaaaa"); } AppLog.AppendLog("ssss"); return Json("Success", JsonRequestBehavior.AllowGet); }
回复
最简单的webclient.uploadfile
回复
爛轲 2016-01-19
引用 8 楼 apollokk 的回复:
System.Web.HttpPostedFileBase也有saveas方法
HttpPostedFileBase file = Request.Files[f];
要return什么?
回复
回.到.未来 2016-01-19
把你上传时的地址改成服务器的地址
回复
Hello World, 2016-01-19
System.Web.HttpPostedFileBase也有saveas方法
HttpPostedFileBase file = Request.Files[f];
回复
爛轲 2016-01-19
类似于这个http://blog.csdn.net/jingdian14/article/details/7885416,但服务端是MVC, public ActionResult Action() { foreach (string f in Request.Files.AllKeys) { HttpPostedFile file = Request.Files[f]; file.SaveAs(@"d:/" + file.FileName); } return View("Index"); } 它会报一个类型错误,无法将类型“System.Web.HttpPostedFileBase”隐式转换为“System.Web.HttpPostedFile” ,要怎么改,还有要return什么?怎么写呢,求大神指教
回复
秋的红果实 2016-01-19
string httpPath = "appapitest.gamersky.com" + "/"; 改成你的目标地址就行了 一个能使用的服务器,一定有地址吧,要不怎么使用 也可以,发布到本地,测试成功后,把相关的配置(如数据库地址等)改了后,再部署(ftp上传,或复制)到你的目标服务器
回复
Justin-Liu 2016-01-19
传到哪就在哪运行代码
回复
myhope88 2016-01-19
在服务器上部署程序,设置相应权限就可以了吧
回复
爛轲 2016-01-19
引用 11 楼 apollokk 的回复:
[quote=引用 10 楼 qq_31394881 的回复:] [quote=引用 8 楼 apollokk 的回复:] System.Web.HttpPostedFileBase也有saveas方法
HttpPostedFileBase file = Request.Files[f];
要return什么?[/quote] 可以返回文件路径,或者不返回,看你需求[/quote] 报错了: 不能为不写入数据的操作设置 Content-Length 或 Chunked 编码
回复
Hello World, 2016-01-19
引用 10 楼 qq_31394881 的回复:
[quote=引用 8 楼 apollokk 的回复:] System.Web.HttpPostedFileBase也有saveas方法
HttpPostedFileBase file = Request.Files[f];
要return什么?[/quote] 可以返回文件路径,或者不返回,看你需求
回复
fudapeng7 2016-01-18
服务器集群?
回复
爛轲 2016-01-18
引用 1 楼 guwei4037 的回复:
你把这个项目发布到服务器,上传后就是传到服务器的。
我要上传到另外一个服务器
回复
guwei4037 2016-01-18
你把这个项目发布到服务器,上传后就是传到服务器的。
回复
发动态
发帖子
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
社区公告
暂无公告