首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

FTP文件管理项目(本地云)项目日报(八)

新日程 这两天主板烧了,所以也没啥过多进度,也就把文件服务器模块设计并解决了,项目各个模块处理完之后顺便把流程图画了。...在做文件服务器模块的时候我发现好多功能和数据库服务器相交了,搞得我有点乱,而且协议改来改去,有些文件也是多模块共用,搞得我都晕了,所以我决定接下来重构。 新甘特图已经备好: ?...我的进度 预期计划 文件服务器模块解决。 实际情况 解决了。 FTP服务器流程图 ? FTP操作图 ? 简单放一些零件基类代码,这个后期也要封装成动态库,不面向用户。...int CreateDir(const char* sPathName); //新增目录 void delFile(char* filename); //删除文件 void delDir(char...* path, mode_t mode); //权限留在数据库,我才不管 void downFile(char* file_name, int new_server_socket_fd);//下载文件

75430
您找到你想要的搜索结果了吗?
是的
没有找到

FTP文件管理项目(本地云)项目日报(四)

项目周期调整 昨天还做出了一个调整,鉴于大家压力都比较大,所以决定将之后的一个项目日分为两天,天天开会大家会觉得没什么好讲的了。...相应的改动便是将项目周期由12个工作日改为10个项目日,实际时间由原先的16天延长为20天。 此外,会议主要讨论了解压包模块应该如何进行,接下来会看到我设计的类图。 解压包模块设计 ?...0x11,上传文件0x12,下载文件0x13,共享文件0x14,除获取列表外各种文件业务应答0x15 //心跳0x21 int optid; // 操作码:请求0x00 和 应答...****************************************/ //上传文件请求包 typedef struct UpFile { int user_id; int...dir_id; int mode; //文件权限位 int pwd; char* file_name; }UpFile_t; //下载文件请求包 typedef struct

65820

FTP文件管理项目(本地云)项目日报(六)

可以看出来这个epoll是非常之任务繁忙的,线程池也要,TCP通信也要,进程间通信也要,解压包也要,我以前写的那个项目,还要个日志类对象,真是,能者多劳啊。...但是,这样就很难拓展了,如果我要安插一个新的文件描述符,它代表一个全新的模块,那要改多少?来个对象,初始化对象,配置对象,然后再配置epoll属性,然后插入epoll监控表,麻烦,还容易出错。...struct sockaddr_in servaddr;//客户端地址及服务器地址 listen_fd = socket(AF_INET, SOCK_STREAM, 0);//1.创建文件描述符...(用于监听) //成功返回文件描述符,失败返回-1,并设置errno ep->Epoll_add(listen_fd); //凡是在外面使用ep的,都要上锁,这里等着被锁吧...servaddr.sin_port = htons(8000);//绑定端口号 bind(listen_fd, (struct sockaddr*) & servaddr, sizeof(servaddr));//将监听文件描述与

72720

iOS项目生成静态库文件(.a)

Objective-c语言有.h .m 文件组成。静态库可以将 .m文件封装成一个.a文件,第三方应用程序只需要拿到这个.a文件和代码对应的.h文件即可使用静态库中封装的方法。...步骤如下: 创建应用项目 1.创建一个应用项目,也就是single view application备用。 ? ?...创建Library项目 1.首先创建一个新的工程,选择Framework &Libryary,在选择Cocoa Touch Static Library 工程名自己定义 ? ?...h文件和.m文件如下: ? ? 3.接下来就是编译生成.a文件了。快捷键(command+B)选中真机编译和选中模拟机编译对应生成的连个.a文件一个是真机的一个是模拟机的。 ?...打包成功之后,看到Release-iphoneos 和Release-iphonesimulator 里边的.a文件。 5.接下来就是将你生成的.a文件引入到你想加入的工程中。 ?

1.2K80

Vue项目api加载json文件

概述 在vue项目开发过程中,免不了的要进行api接口的调用,当后端接口未搭建完成时,可以使用json文件模拟数据调用来搭建功能,同时有一些相关数据也是需要本地json文件支持,于是在这里介绍自己实战项目内嵌...api接口调用本地数据json的方式 实现方法 第一步:将json放入项目目录 第二步:接口声明 在build/webpack.dev.conf.js文件里添加如下代码: const express =...appData }) }) } 第三步:接口调用 测试 这时候在浏览器输入 http://localhost:8080/api/address 便可看到json文件的数据了...console.log(response) }, response => { console.log('数据加载失败') }) 参考文档 vue.js学习笔记(二):如何加载本地json文件...Vue加载json文件 Author: Frytea Title: Vue项目api加载json文件 Link: https://blog.frytea.com/archives/44/

2.2K30

关于项目文件上传

项目中,我们难免会遇到要上传文件的需求,例如头像,文章图片,等等相关的文件需求,那么如何才能做好文件上传呢?我将从 上传方式,存储方式等几个方向来做说明....异步上传 为了解决提交表单时文件太多/太大,导致提交表单的时间延长,开发者采用了新的方式进行上传,也就是 异步上传 表单还是原来的表单,在选择文件之后,前端将会立即请求另一个 文件上传的接口,直接将文件上传...垃圾文件解决方案 异步上传的垃圾文件解决方案如下: - 用户上传文件到临时文件夹(/temp/) - 用户提交表单之后,从临时文件夹移动文件到新目录中,表示该文件有效 - 如果用户是更新表单,从临时文件夹移动文件到新目录...,同时删除原有文件 存储方式 一般情况下,为了方便,我们通常都是直接将文件存储到本地服务器中,直接通过nginx代理获取文件 这样的做法优点是管理文件方便,实现简单,缺点是会占用服务器的带宽,使得带宽成本上升...所以我们需要在更新文件路径时做好判断,具体步骤如下: 1:第一次上传,temp/xx.jpg 2:判断该路径是否为 "temp/"前缀开头,如果是,则代表是临时文件,代表修改了文件 3:将临时文件复制一份正式文件

85620

WPF 使用 VisualStudio 2017 项目文件

本文告诉大家如何在 WPF 访问解决方案的文件 在 WPF 如果需要访问项目文件,如在项目文件放一张图片,需要在 xaml 或后台代码读取,这个就是需要用到本文的技术。...假如在 项目文件 放一张图片,首先新建一个项目,然后随意找一张图片,放在项目上 ?...注意需要查看图片的属性,如果图片的生成不是 Resources 那么在使用下面的代码还是找不到 最简单在 xaml 获取项目文件的方式是直接写相对 xaml 的路径,下面的代码写在主界面... 因为很容易移动 xaml 文件所在的文件夹,如果移动了文件夹,那么刚才的路径就需要修改...,格式就是pack://application:,,,/程序集;component/相对B项目文件,需要注意右击看文件是不是 Resources 如果不是还是无法找到 <Image Source

97820

iOS项目生成静态库文件(.a)

Objective-c语言有.h .m 文件组成。静态库可以将 .m文件封装成一个.a文件,第三方应用程序只需要拿到这个.a文件和代码对应的.h文件即可使用静态库中封装的方法。...步骤如下: 创建应用项目 1.创建一个应用项目,也就是single view application备用。 ? ?...创建Library项目 1.首先创建一个新的工程,选择Framework &Libryary,在选择Cocoa Touch Static Library 工程名自己定义 ? ?...h文件和.m文件如下: ? ? 3.接下来就是编译生成.a文件了。快捷键(command+B)选中真机编译和选中模拟机编译对应生成的连个.a文件一个是真机的一个是模拟机的。 ?...打包成功之后,看到Release-iphoneos 和Release-iphonesimulator 里边的.a文件。 5.接下来就是将你生成的.a文件引入到你想加入的工程中。 ?

1.6K70

.vue文件结构(vue框架项目)

build文件夹里面是对 webpack 开发和打包的相关设置,包括入口文件、输出文件、使用的模块等; build.js文件 构建环境下的配置: loading动画、删除创建目标文件夹、webpack...配置静态资源路径; 生成cssLoaders用于加载.vue文件中的样式; 生成styleLoaders用于加载不在.vue文件中的单独存在的样式文件 'use strict' const path...=== 'production' // 文件引用路径 ?...'), // resolve('src') 指的是项目根目录中的src文件夹目录,使用@符号代替 } }, // 用于解析不同的模块 module: { rules...[ext]') //超过10000字节的图片,就按照制定规则设置生成的图片名称,可以看到用了7位hash码来标记,.ext文件是一种索引式文件系统 } }, {

1.4K10
领券