Apache Python: Uploaded binary file not able to read
Posted: 25. January 2015 11:05
Hi,
I am using apache server running under XAMPP control panel. In that I configured python script for web service. In that I tried to upload a xls file, where the uploaded file is always been written to disk as binary dump file of 49.2KB. Instead i tried to upload html text file, it works fine with simple text files. I even tried to upload a .doc file format. Even that the behavior remains the same. Please help me on this issue.
For making python to work with apache, I changed the following http.conf file line:
I am using the following code snippets for doing the above process:
index.html
reader.py
I am using apache server running under XAMPP control panel. In that I configured python script for web service. In that I tried to upload a xls file, where the uploaded file is always been written to disk as binary dump file of 49.2KB. Instead i tried to upload html text file, it works fine with simple text files. I even tried to upload a .doc file format. Even that the behavior remains the same. Please help me on this issue.
For making python to work with apache, I changed the following http.conf file line:
- Code: Select all
AddHandler cgi-script .cgi .pl .asp .py
I am using the following code snippets for doing the above process:
index.html
- Code: Select all
<form name='getXlFileForm' action='reader.py' method='post' enctype='multipart/form-data'>
<input type='file' name='xlFileFromForm' />
<input type='submit' value='Upload' />
</form>
reader.py
- Code: Select all
cgitb.enable()
requestForm = cgi.FieldStorage()
uploadedFiles = requestForm['xlFileFromForm']
if uploadedFiles.file:
temFile = tempfile.NamedTemporaryFile(mode='w+b',prefix=outputDir, suffix='.xls', delete=False)
#inFileName = os.path.basename(uploadedFiles.filename)
uploadedName = os.path.basename(uploadedFiles.filename)
open(temFile.name,"w+b").write(uploadedFiles.file.read())