C# 文件上传(另一台服务器的共享目录)
前言:
相信很多小伙伴都做过很多简单的服务器上传文件,但是如何上传到另外一台服务器的共享目录下呢,在这篇文章教大家如何上传到服务器共享目录。
1.可以弄一个虚拟机当另外一台服务器把文件夹共享出来,创建文件及共享文件夹
创建一个文件夹叫SharedFolders - 右键文件夹属性 - 共享
2.本机找到虚拟机的共享文件夹试图丢点文件进去看看是否成功
我的虚拟机IP是192.168.1.139,访问共享路径地址是\\192.168.1.139\SharedFolders
把我新建的Excel 文件丢到共享文件下看看是否成功,成功了就查看以下虚拟机的共享文件夹下是否有这个文件
3.然后我们写代码实现上传到虚拟机共享目录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Net.Http; using System.Web; using System.Web.Http; namespace ImportExcel.Api.Controllers { public class FileController : ApiController { public void Upload() { HttpFileCollection files = HttpContext.Current.Request.Files; if (files.Count > 0) { HttpPostedFile file = files[0]; //绝对路径 string savePath = @"\\192.168.1.139\SharedFolders" ; //读取导入的文件类型 var fileExt = file.FileName.Substring(file.FileName.LastIndexOf( '.' )).ToLower(); //if(fileExt == "xxx") 判断类型 var fileName = Guid.NewGuid(); string xlsxFileName = fileName + fileExt; file.SaveAs(savePath + "\\" + xlsxFileName); } } } } |
小编这边使用Postman调试,看看是否成功,先F5运行项目进行调试
没报错应该是成功了去共享目录看看是否有刚才上传的docx文件
本地是可以了然后我们把他部署到IIS,在进行上传看看
部署好了使用Postman 请求 5589这个端口
你会发现报错了,这是为什么呢,其实是权限的问题
1. 在本机和虚拟机添加一个同样的用户:TEST
2.在虚拟机中设置共享文件夹的权限
3.把IIS的程序池标识改为自定义账户
4.再次通过Postman调试,无返回东西就去看虚拟机的共享目录是否存在文件
额,小编这次没使用虚拟目录不知道为啥成了!
参考文章:https://www.cnblogs.com/guangpeng/archive/2013/04/09/3009600.html
参考文章:https://www.cnblogs.com/tdws/p/6231308.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~