ReadFile

From NSB App Studio
Jump to navigation Jump to search

ReadFile (filename[,method])

Description

Note: This function can be replaced by the Ajax() function.

ReadFile will read filename which can either be deployed with the app or be on the same server as the app. If the file is to be deployed with the app, include it in the manifest. This function will only work when deployed to a website: it will not work when running in the local browser.

Use method to define the access method. Usually this parameter can be left out: the default is Get. The next most common value for this is Post. Post responses are never cached, whereas Get responses can be. Post also allows larger data transfers. Other methods are Connect, Delete, Head, Options, Put, Trace, or Track. For more information on these options, look up XMLHttpRequest on the web. The function is based on XMLHttpRequest. See the ReadFile.nsx sample.

It returns two values: .status = 0 or 200 if the file was read successfully and .responseText which has the entire contents of the file. If the file is not read successfully, a different status code is returned in .status.

There is no equivilent WriteFile. Use Sql, LocalStorage or the PhoneGap API to save data.

Returning the latest file contents

You can also pass a file location to ReadFile using this approach

Dim usrFile, req
usrFile = "users/12345.xml?&" & SysInfo(10)
req = ReadFile(usrFile)

This ?&" & SysInfo(10) at the end of the .xml ensures that the latest file on the server is returned. This is useful where you perhaps update the file and want to return the latest version later on within your application. Excluding this will only return the last cached file contents that you read.

Example

Rem ReadfileFile example
filename="g.txt"
req=ReadFile(filename)
If req.status=200 Then
  MsgBox req.responseText
Else
  MsgBox "File could not be read"
End If

Related Items

Ajax