删除服务端文件

今天在winform上需要上传,删除服务器上的文件,网上找了下上传是很多,可删除没有找到答案,,最后只能拿个土办法实现了,这里是用ashx文件来处理
上传:
B/S
 
 public void ProcessRequest(HttpContext context)
        {
            foreach (string fileKey in context.Request.Files)
            {
                try
                {
                    HttpPostedFile file = context.Request.Files[fileKey];
                    string oldFileName = file.FileName; //原文件名  xxx.jpg
                    int extenIndex = oldFileName.LastIndexOf(".");
                    string getExtent = oldFileName.Substring(extenIndex);//文件扩展名  .jpg
                    string fileSize = UploadCommon.getFileSize(file.ContentLength);  //获取文件大小 
                    string newFileName = DateTime.Now.ToString("yyyyMMddHHmmssms") + (new Random()).Next(0, 9) + getExtent;
                    string path = "/AffixFiles/sw_Products/";
                    if (!Directory.Exists(context.Server.MapPath(path)))
                    {
                        Directory.CreateDirectory(context.Server.MapPath(path));
                    }
                    string filePath = Path.Combine(path, newFileName);//文件相对路径
                    file.SaveAs(context.Server.MapPath(filePath));
                    string json = "{\"status\":\"success\",\"oldFileName\":\"" + oldFileName + "\",\"fileSize\":\"" + fileSize + "\",\"filePath\":\"" + filePath + "\",\"fileType\":\"" + getExtent + "\"}";
                    context.Response.Write(json);
                }
                catch
                {
                    string json = "{\"status\":\"error\",\"oldFileName\":\"" + null + "\",\"fileSize\":\"" + null + "\",\"filePath\":\"" + null + "\",\"fileType\":\"" + null + "\"}";
                    context.Response.Write(json);
                }
                context.Response.End();
            }
        }
C/S
 
private void 上传_Click(object sender, EventArgs e)
        {
            System.Net.WebClient myWebClient = new System.Net.WebClient();
            byte[] b = myWebClient.UploadFile("http://190.160.10.13:8088/ClientUpload/ClientUploadTools.ashx",
                "POST", "C:\\1351040562_Download.png");
        
           string returnJson = Encoding.Default.GetString(b);
           JavaScriptSerializer json = new JavaScriptSerializer();
           uploadMessage result = json.Deserialize<uploadMessage>(returnJson);//最后的返回结果集
           
        }
        public class uploadMessage
        {
            public string oldFileName { get; set; }
            public string fileSize { get; set; }
            public string filePath { get; set; }
            public string fileType { get; set; }
            public string status { get; set; }
        }
 
 
删除:
这里删除就使用了 UploadData方法来处理,太土了,大家有没有更好的办法提供一下哈
B/S
 
 public void ProcessRequest(HttpContext context)
        {
            try
            {
                int totalBytes = context.Request.TotalBytes;
                if (totalBytes > 0)
                {
                    byte[] readBytes = context.Request.BinaryRead(totalBytes);
                    string filePath = System.Text.Encoding.Default.GetString(readBytes);
                    string overFile = context.Server.MapPath(filePath);
                    if (File.Exists(overFile))
                    {
                        try
                        {
                            File.Delete(overFile);
                            context.Response.Write("success");
                        }
                        catch
                        {
                            context.Response.Write("error");
                        }
                    }
                }
            }
            catch
            {
                context.Response.Write("error");
            }
            context.Response.End();
        }
 
C/S
 
/// <summary>
        /// 删除成功success  删除失败 error
        /// </summary>
        private void 删除_Click(object sender, EventArgs e)
        {
            System.Net.WebClient myWebClient = new System.Net.WebClient();
            byte[] b = myWebClient.UploadData("http://localhost:2666/ClientUpload/ClientDeleteTool.ashx",
                "POST", Encoding.Default.GetBytes("/AffixFiles/sw_Products/2012112211243824388.png"));
            string result = Encoding.Default.GetString(b);//返回的结果
        }

好文要顶 关注我 收藏该文

原文地址:https://www.cnblogs.com/qiu18359243869/p/10989674.html

时间: 2024-11-13 09:55:42

删除服务端文件的相关文章

python--》客户端与服务端文件的下载

在介绍之前,我们需要了解一个加密算法 MD5 校验和(checksum)通过对接收的传输数据执行散列运算来检查数据的正确性.计算出的散列值拿来和随数据传输的散列值比较.如果两个值相同,说明传输的数据完整无误.没有被窜改过(前提是散列值没有被窜改),从而可以放心使用. 如客户往我们数据中心同步一个文件,该文件使用MD5校验,那么客户在发送文件的同时会再发一个存有校验码的文件,我们拿到该文件后做MD5运算,得到的计算结果与客户发送的校验码相比较,如果一致则认为客户发送的文件没有出错,否则认为文件出错

度量系统服务端文件本地异地差异备份(增量备份)脚本示例

度量产品部署好服务端后,因为服务端有各类封装加密的附件,文件等资料,为保障数据安全,除了建立高可用性的备份机制外,我们可以通过批处理脚本,结合到系统计划进行本地或异地备份,为考虑容量情况,也可以采用增量备份进行.下面代码是一个示例批处理脚本,可以按照自己的思路编写简单而强大的服务端备份策略: @echo offREM ************************************************************REM *服务端文件增量备份,每年的数据保存在DestDir

服务端 安装配置 svn

检查是否安装svn svn --version 看看,既能确定是否安装,又能确定版本多少 安装 svn yum -y install subversion 创建仓库存放目录 mkdir -p /opt/svn/Warehouse  #Warehouse 仓库目录名称 创建仓库 svnadmin create  /opt/svn/Warehouse svn  文件夹设置 所属用户组/用户 chown -R svn:svn /opt/svn/  仓库权限 (  这个地方的是指 svn/conf/ 的

OpenSSL实现服务端客户端双向认证

OpenSSL 1.0.0生成p12.jks.crt等格式证书的命令个过程此生成的证书可用于浏览器.java.tomcat.c++等.在此备忘! 1.创建根证私钥命令:openssl genrsa -out root-key.key 1024 2.创建根证书请求文件 命令:openssl req -new -out root-req.csr -key root-key.key -keyform PEM 3.自签根证书命令: openssl x509 -req -in root-req.csr -

平台服务端日志查看说明

平台服务端日志,记录了后台服务端服务的启动情况,服务端报错情况,连接数据库情况,影响数据库表数据条数,影响这些数据条数的用户等等信息.对于我们排查错误,定位数据库表数据变化,有很大的帮助!      点开服务端文件夹,查找到Log的目录,点开就可以查看到服务端日志. 原文地址:http://bbs.delit.cn/thread-391-1-1.html 转载请注明出处: 撰写人:度量科技http://www.delit.cn

度量快速开发平台部署IIS服务端后提示不具备查看该目录和页的权限 ALC

今天在云虚拟机上部署度量快速开发平台服务端后,访问效果如下所示:  提示 不具备查看该目录或页面的权限,因为访问控制列表(ALC)对wrb服务器上的该资源进行了配置. 这个错误,主要是IIS上部署的服务端文件夹访问权限不够引起,只需要把服务端目录安全性设置为 network service用户完全控制即可.如果设置这个用户后仍然不行,则需要把everyone用户设置为完全控制才行.原文地址:http://bbs.delit.cn/thread-336-1-1.html 转载请注明出处: 撰写人:

PHP-Socket服务端客户端发送接收通信实例详解

Socket介绍 什么是socket 所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄.应用程序通常通过"套接字"向网络发出请求或者应答网络请求. 在Internet上的主机一般运行了多个服务软件,同时提供几种服务.每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务. Socket连接过程 根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认.

zabbix服务端的部署安装

基于centos6.5 + zabbix-2.4.6  且大部分命令均在zabbix的安装路径下!!比如/usr/local/zabbix/yum -y install gcc gcc-c++ autoconf httpd php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php

rsync服务端和客户端配置自动化配置脚本

系统版本CentOS release 6.9 (Final)2.6.32-696.el6.x86_64 x86_64 rsync 服务端IP:172.16.1.41 计算机名:backuprsync客户端IP:172.16.1.31 计算机名:nfs 服务器配置: [[email protected] scripts]# cat backup_server.sh #!/bin/bash export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/