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

爛轲 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);
}
...全文
572 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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); }
threenewbee 2016-01-19
  • 打赏
  • 举报
回复
最简单的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 的回复:
你把这个项目发布到服务器,上传后就是传到服务器的。
我要上传到另外一个服务器
全栈极简 2016-01-18
  • 打赏
  • 举报
回复
你把这个项目发布到服务器,上传后就是传到服务器的。

62,074

社区成员

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

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

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

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