Socket编程实现文件上传

Socket编程实现文件上传
Socket编程实现文件上传

ABAP-本地文件上载到SAP 服务器

DATA: fname TYPE rlgrap-filename, ftype TYPE rlgrap-filetype, fsize TYPE i. DATA: fname_p TYPE string, fname_n TYPE string. DATA: sfname_p TYPE string . DATA: sfname LIKE rcgiedial-iefile. sfname_p = './'. DATA: r(1) TYPE c. DATA: data_tab LIKE rcgrepfile OCCURS 10 WITH HEADER LINE. DATA: lines TYPE i. CALL FUNCTION 'UPLOAD' EXPORTING filename = 'c:/' filetype = 'BIN' filetype_no_change = 'X' IMPORTING filesize = fsize act_filename = fname act_filetype = ftype TABLES data_tab = data_tab EXCEPTIONS conversion_error = 1 invalid_table_width = 2 invalid_type = 3. fname_n = fname. DO. SPLIT fname_n AT '/' INTO fname_p fname_n. SEARCH fname_n FOR '/'. IF sy-subrc = 4. EXIT.

ENDIF. ENDDO. fname_p = fname. SHIFT fname_p RIGHT DELETING TRAILING fname_n. SHIFT fname_p LEFT DELETING LEADING space. CONCATENATE sfname_p fname_n INTO sfname. DESCRIBE TABLE data_tab LINES lines. CALL FUNCTION 'C13Z_RAWDATA_WRITE' EXPORTING i_file = sfname i_file_size = fsize i_lines = lines TABLES i_rcgrepfile_tab = data_tab EXCEPTIONS no_permission = 1 open_failed = 2 OTHERS = 3. IF sy-subrc NE 0. MESSAGE i000(znyj13) WITH 'UPLOAD SUCC'. ENDIF. WRITE: 'SY-SUBRC:', sy-subrc, / '上载的本地文件名:', (60) fname, / '上载的远程文件名:',(60) sfname, / '文件类型:', ftype, / '文件大小:', fsize. SKIP.

在WinForm中通过HTTP协议向服务器端上传文件

在WinForm中通过HTTP协议向服务器端上传文件相信用https://www.360docs.net/doc/c514655317.html,写一个上传文件的网页大家都会写但是有没有人想过通过在WinForm中通过HTTP协议上传文件呢有些人说要向服务器端上传文件用FTP协议不是很简单吗效率又高为什么还要使用HTTP协议那么麻烦呢这里面有几个原因1FTP服务器的部署相对麻烦还要设置权限权限设置不对还会惹来一系列的安全问题。2如果双方都还有防火墙又不想开发FTP相关的一些端口时HTTP就会大派用场就像WEB Services能穿透防火墙一样。3其他的...还在想呢... 但是使用HTTP也有他的一些问题例如不能断点续传大文件上传很难速度很慢所以HTTP协议上传的文件大小不应该太大。说了这么多原归正传一般来说在Winform里通过HTTP 上传文件有几种可选的方法1前面提到的Web Services就是一种很好的方法通过编写一个WebMethod包含有byte 类型的参数然后调用Web Services的方法文件内容就会以Base64编码传到服务器上然后重新保存即可。WebMethod public void UploadFilebyte contentstring filename... Stream sw new StreamWriter... sw.Close 当然这种通过Base64编码的方法效率比较低那么可以采用WSE支持附件并以2进制形式传送效率会更高。2除了通过WebService另外一种更简单的方法就是通过WebClient或者HttpWebRequest来模拟HTTP的POST动作来实现。这时候首先需要编写一个https://www.360docs.net/doc/c514655317.html,

用ACCESS向ftp服务器上传文件

用ACCESS向ftp服务器上传文件 用API调用: '声明: Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" _ (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, _ ByVal sProxyBypass As String, ByVal lFlags As Long) As Long Private Declare Function InternetConnect Lib "wininet.dll" Alias "InternetConnectA" _ (ByVal hInternetSession As Long, ByVal sServerName As String, _ ByVal nServerPort As Integer, ByVal sUsername As String, _ ByVal sPassword As String, ByVal lService As Long, _ ByVal lFlags As Long, ByVal lContext As Long) As Long Private Declare Function FtpGetFile Lib "wininet.dll" Alias "FtpGetFileA" _ (ByVal hFtpSession As Long, ByVal lpszRemoteFile As String, _ ByVal lpszNewFile As String, ByVal fFailIfExists As Boolean, _ ByVal dwFlagsAndAttributes As Long, ByVal dwFlags As Long, _ ByVal dwContext As Long) As Boolean Private Declare Function FtpPutFile Lib "wininet.dll" Alias "FtpPutFileA" _ (ByVal hFtpSession As Long, ByVal lpszLocalFile As String, _ ByVal lpszRemoteFile As String, ByVal dwFlags As Long, _ ByVal dwContext As Long) As Boolean Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer '函数 Private Function UpLoadFile(ByVal LocateFile As String, ByVal RemoteFile As String) As

《附件上传方案设计》

附件上传方案设计 一、引题 B端业务系统流程中,经常遇到需要把文件或者材料拿给别人确认或查看的情况。 举个例子: 如当销售人员签完合同后,需要对合同要素进行录入并上传合同附件,由业务相关人员根据合同内容进行业务配置相关的产品服务。如果不能上传附件的话,销售人员需要将合同原件通过钉钉发送或者邮寄的方式寄给业务人员,这个过程将会浪费很多的时间。 邮寄的方式: 问清楚业务人员的联系方式与地址(哪个分公司?由于人员流动性原因有可能过一段时间就换人了); 通过手机选择一个快递公司; 输入收件地址与寄件地址,支付并下单; 将签署完的合同整理好,等待快递小哥上门取件; 快递小哥上门取件,打印快递单; 1天过去了; 2天过去了; 3天过去了; 业务人员收件,并根据合同内容进行后续操作流程。

钉钉的方式: ?将签署完的合同拍照或者扫描,进行整理后; ?在钉钉上找到业务人员,如果没有添加,还需进行添加,如果有,直接发送; ?业务人员接收到合同文件,根据合同内容进行后续操作; ?由于人员流动性原因,以及人的能动性。忘记保存在固定的文件中,合同扫描件可能会在交接过程中存在不完整的情况,导致系统上有的合同编号,没有合同扫描件或者合同照片。 以上流程中,可以看出: ?在合同对接过程中效率不是很高。 ?由于人员流动原因,系统上存在的合同编号有时会找不到对应的合同原件,没有办法追溯到合同信息的准确性。 在涉及文件材料的场景中,附件上传功能,用户可以将材料文件上传到系统中,他人可以快速的进行浏览、查阅。这一过程也会变得很有效率。 二、如何设计附件上传功能? 用户在进行附件上传时,需要提前将上传的文件准备好,只需点击上传,选择文件就可以进行上传了,上传完成后,需要查看上传文件以及数量是否正确,如果正确,这个动作就完成了,如果不正确,

goAhead上实现文件上传到嵌入式Web服务器上

goAhead上实现文件上传到嵌入式Web服务器上 本文内容概要:详细描述了在goAhead 2.5上如何实现文件上传(上传文件)到服务器端的功能。 开发环境: 宿主机:Windows XP; 虚拟机:Ubuntu 9.10; 交叉编译器:arm-uclibc-gcc(arm-linux-gcc-4.3.2可以顺利编译通过)——————————————————————————————————— 1. 说明 最近调试web文件上传到服务器功能,但在调试时,处理函数总是获取不到文件路径,百思不得其解,查了网上许多文章,但大多提到的是前端文件上传的原理、实现方式等,而未提供服务器端处理的实现(利用C函数实现)。此外,由于对web不了解,花了些时间研究web程序。 2. goAhead实现文件上传的方法 总得来说,goAhead上实现文件上传功能是比较容易的。因为有现成的代码可用,稍微移植下即可。 2.1 实现原理 使用html form即表单提交文件上传请求,web服务器核心处理接收客户端Post过来的文件数据(注意post的是二进制数据),最后,web服务器把接收到文件数据以二进制格式写到服务器本端存储系统。 2.2 前端设计 前端设计比较简单,就是设计一个form,type属性为file,本人是在goAhead-2.5附带的wwwdemo的asptest.asp网页上增加了一个这样的form。 1. 2. 3. 4. 5.