如何解决本地向服务器上传文件
需求:
实现本地文件上传至服务器,使用的Http协议。
找了几个方法都是:
未处理 WebException
远程服务器返回错误: (405) 不允许的方法。

使用的示例代码:
实现本地文件上传至服务器,使用的Http协议。
找了几个方法都是:
未处理 WebException
远程服务器返回错误: (405) 不允许的方法。

使用的示例代码:
/**/
/// <summary>
/// WebClient上传文件至服务器
/// </summary>
/// <param name="fileNamePath">文件名,全路径格式</param>
/// <param name="uriString">服务器文件夹路径</param>
/// <param name="IsAutoRename">是否自动按照时间重命名</param>
public void UpLoadFile(string fileNamePath, string uriString, bool IsAutoRename)
{
int indexOf = 0;
if (fileNamePath.Contains("\\"))
{
indexOf = fileNamePath.LastIndexOf("\\");
}
else if (fileNamePath.Contains("/"))
{
indexOf = fileNamePath.LastIndexOf("/");
}
string fileName = fileNamePath.Substring(indexOf + 1);
string NewFileName = fileName;
if (IsAutoRename)
{
NewFileName = DateTime.Now.ToString("yyMMddhhmmss") + DateTime.Now.Millisecond.ToString() + fileNamePath.Substring(fileNamePath.LastIndexOf("."));
}
string fileNameExt = fileName.Substring(fileName.LastIndexOf(".") + 1);
if (uriString.EndsWith("/") == false) uriString = uriString + "/";
uriString = uriString + NewFileName;
//Utility.LogWriter log = new Utility.LogWriter();
//log.AddLog(uriString, "Log");
//log.AddLog(fileNamePath, "Log");
/**/
/**/
/**/
/// 创建WebClient实例
WebClient myWebClient = new WebClient();
myWebClient.Credentials = CredentialCache.DefaultCredentials;
// 要上传的文件
FileStream fs = new FileStream(fileNamePath, FileMode.Open, FileAccess.Read);
//FileStream fs = OpenFile();
BinaryReader r = new BinaryReader(fs);
byte[] postArray = r.ReadBytes((int)fs.Length);
Stream postStream = myWebClient.OpenWrite(uriString, "PUT");
try
{
//使用UploadFile方法可以用下面的格式
//myWebClient.UploadFile(uriString,"PUT",fileNamePath);
if (postStream.CanWrite)
{
postStream.Write(postArray, 0, postArray.Length);
postStream.Close();
fs.Dispose();
// log.AddLog("上传日志文件成功!", "Log");
}
else
{
postStream.Close();
fs.Dispose();
// log.AddLog("上传日志文件失败,文件不可写!", "Log");
}
}
catch (Exception err)
{
postStream.Close();
fs.Dispose();
//Utility.LogWriter log = new Utility.LogWriter();
// log.AddLog(err, "上传日志文件异常!", "Log");
throw err;
}
finally
{
postStream.Close();
fs.Dispose();
}
}
...全文
相关推荐
本地文件管理、上传至服务器、服务器文件管理
本篇文章将深入探讨“本地文件管理、上传至服务器、服务器文件管理”这一主题,以及如何利用FTP协议进行文件上传。首先,本地文件管理是计算机操作的基础。
FTP上传下载,本地同步服务器文件
FTP的使用涉及到多个关键概念和流程,以下将详细讲解FTP上传与下载以及相关知识点。**FTP上传**:FTP上传是指将本地计算机上的文件或文件夹传输到远程FTP服务器的过程。
使用Jupyter notebooks上传文件夹或大量数据到服务器
例如,可以创建一个脚本自动将本地文件夹打包压缩后上传到服务器,并在服务器上解压。- **安全性考虑** 在上传大量数据到服务器时,需要考虑到数据的安全性。
ckeditor上传本地图片
为了解决这个问题,开发者通常会使用CKFinder这样的第三方插件。CKFinder是一款文件管理器,与CKEditor无缝集成,提供了图片和文件上传、浏览、管理的功能。
IISLocalServer,用于文件上传的服务器实现,可搭配.NET和windows自带IIS快速搭建本地资源服务器
IISLocalServer通过集成IIS,使得开发者无需复杂的配置步骤就能在本地环境搭建一个支持文件上传的服务器。


