# inet.httpFile 库模块帮助文档

## inet 成员列表 <a id="inet" href="#inet">&#x23;</a>

### inet.httpFile <a id="inet.httpFile" href="#inet.httpFile">&#x23;</a>
下载文件,支持断点续传

### inet.httpFile() <a id="inet.httpFile" href="#inet.httpFile">&#x23;</a>
[返回对象:inetFileObject](#inetFileObject)

### inet.httpFile(url,savePath,resumeFilePath,userAgent,proxy,...) <a id="inet.httpFile" href="#inet.httpFile">&#x23;</a>
存储路径（参数 @savePath）如果是目录则必须以反斜杠结尾,  
@savePath 如果是目录或者未指定后缀名,则尝试自动获取文件名  
配置文件可指定目录,也可以是文件路径（必须指定后缀名）  
如果不指定配置文件路径,则指定为存储路径 + ".dow!oad"  
其他可选参数用于创建 http 对象,参考 inet.http 构造函数说明

## inetFileObject 成员列表 <a id="inetFileObject" href="#inetFileObject">&#x23;</a>

### inetFileObject.bufferSize <a id="inetFileObject.bufferSize" href="#inetFileObject.bufferSize">&#x23;</a>
缓冲区大小  
不指定则默认为 256KB

### inetFileObject.close() <a id="inetFileObject.close" href="#inetFileObject.close">&#x23;</a>
关闭连接

### inetFileObject.complete <a id="inetFileObject.complete" href="#inetFileObject.complete">&#x23;</a>
是否下载完成

### inetFileObject.contentLength <a id="inetFileObject.contentLength" href="#inetFileObject.contentLength">&#x23;</a>
需要下载的文件长度  
如果文件长度为零,并且modified属性为false,表示不需要重新下载  
download函数返回值为 true 则 contentLength 表示已下载文件总长度

### inetFileObject.download(HTTP头,引用网址,accept,flags,postData) <a id="inetFileObject.download" href="#inetFileObject.download">&#x23;</a>
下载文件,所有参数都是可选参数.  
下载成功返回true,  
文件已下载成功无需重新下载返回true,错误信息,  
下载失败返回null以及错误信息  
取消返回false,无错误信息  

可通过complete属性检测本次下载文件是否成功

### inetFileObject.filename <a id="inetFileObject.filename" href="#inetFileObject.filename">&#x23;</a>
存储文件名,  
仅在存储路径为目录时有效,  
可在调用download函数以前修改,  
如果未指定则在调用 test 或 download 函数时自动获取

### inetFileObject.isModified() <a id="inetFileObject.isModified" href="#inetFileObject.isModified">&#x23;</a>
检测已下载的文件在服务器上是否已被修改,  
 该函数会调用 download() 进行测试(不会启动下载)

### inetFileObject.modified <a id="inetFileObject.modified" href="#inetFileObject.modified">&#x23;</a>
文件是否己更新

### inetFileObject.path <a id="inetFileObject.path" href="#inetFileObject.path">&#x23;</a>
存储路径,  
可在调用download函数以前修改

### inetFileObject.removeResumeFile() <a id="inetFileObject.removeResumeFile" href="#inetFileObject.removeResumeFile">&#x23;</a>
移除断点续传配置文件

### inetFileObject.resumePath <a id="inetFileObject.resumePath" href="#inetFileObject.resumePath">&#x23;</a>
续传文件路径,  
可在调用download函数以前修改

### inetFileObject.session <a id="inetFileObject.session" href="#inetFileObject.session">&#x23;</a>
HTTP连接对象  

[返回对象:inetHttpObject](https://www.aardio.com/zh-cn/docs/library-reference/inet/http.html#inetHttpObject)

### inetFileObject.statusCode <a id="inetFileObject.statusCode" href="#inetFileObject.statusCode">&#x23;</a>
HTTP 状态码

### inetFileObject.test(HTTP头,引用网址,accept,flags,postData) <a id="inetFileObject.test" href="#inetFileObject.test">&#x23;</a>
检测是否已下载最新文件  
已下载文件未变更返回true  
需要下载或续传返回false,下载错误返回null以及错误信息

## inetFileObject 事件列表 <a id="inetFileObjectEvent" href="#inetFileObjectEvent">&#x23;</a>

### inetFileObject.onReceive <a id="inetFileObject.onReceive" href="#inetFileObject.onReceive">&#x23;</a>

```aardio
inetFileObject.onReceive = function(buffer,readSize,contentLength){

}
```

### inetFileObject.onReceiveBegin <a id="inetFileObject.onReceiveBegin" href="#inetFileObject.onReceiveBegin">&#x23;</a>

```aardio
inetFileObject.onReceiveBegin = function(statusCode,contentLength,fileSize){
	if( statusCode == 206/*断点续传*/ ){

	}
}
```

