C#客户端WinForm怎么自动(不许要用户选择文件)上传日志到Web服务器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#客户端WinForm怎么自动(不许要用户选择文件)上传日志到Web服务器相关的知识,希望对你有一定的参考价值。
WinForm客户端或者Web客户端能自动从某个设定的文件夹或文件上传到Web服务器;2.上传的文件的大小在100kb之内;3.最好是能简单点实现
自动是指:程序运行时,我设置上传的文件后,就会自动上传到Web服务器上的某个目录下,或者说可以有个按钮,点击这个按钮后就可以自动上传已经设置好的文件。
自动的话你可以用个timer来实现,设置好执行间隔。
在程序运行的时候首先要检测是否存在要上传的文件是否存在;
bool result = File.Exists("文件路径");//检测文件是否存在存在的情况下要验证是否在100K之内;
FileInfo fileInfo = new FileInfo("文件路径");long size = fileInfo.Length / 1024;
符合以上两个条件就上传
追问上传到远程服务器不是本地,况且不能选择,用设置好的文件,能给出完整的代码吗
追答留个扣或者邮箱,超出字数了
追问谢谢啦....已经用FTP的方式解决了!
参考技术A 使用windows的计划任务,到时间自动执行程序可以让设计让你的c#程序,自动把某个文件夹里的文件上传,发现文件夹里有文件就上传,上传后移走或删除已上传文件. 参考技术B 定时调用吧,在数据中添加个标识字段flag,在程序中将要上传的文件基本信息上传到数据库,是flag=0,。在winform中定时在数据库中读取flag=0的,上传失败使flag=2,上传成功flag=1,要注意定时调用的时间间隔一定要满足文件上传所要的时间,不然上传会失败哦追问
问题是在上传这个过程,其他的我都知道。
追答tbfilepath是文件的路经
file = tbfilepath.Value.Substring(tbfilepath.Value.LastIndexOf('.') + 1);
filename = tbfilepath.Value.Substring(tbfilepath.Value.LastIndexOf("\\") + 1);
file = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + DateTime.Now.Millisecond.ToString() + "." + file;
string serverpath = Server.MapPath("~/upload/fjx/") + file;
filepath = "../../../upload/fjx/" + file;
tbfilepath.PostedFile.SaveAs(serverpath);
//当从新上传附件是福建的更新
你这个是写在客户端WinForm里?还是要写在网页里?
追答这是程序里的,要记得将文件保存到数据库,然后再从winform中读取文件路径
追问tbfilepath是怎么声明?不会是String吧?你都引用了什么命名空间?
tbfilepath这个就是下面的文本框名字
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections;
你这个还是需要用户去选择文件,才能用,不符合需求啊?
追答上传不就是你设定文件吗,如不上传,文件凭空而来啊
追问是用程序设置的文件,不是自己选择的文件,不过还是要谢谢你。
追答那就无能为力,你在想办法吧
以上是关于C#客户端WinForm怎么自动(不许要用户选择文件)上传日志到Web服务器的主要内容,如果未能解决你的问题,请参考以下文章
C# winform 如何取得网站cookie,从而实现自动登录。