admin管理员组文章数量:1335544
The client has a simple form that takes a text and a file:
<form name="add_show" id="add_show" action="" method="GET">
<label class="text-info">Show Name:</label>
<input type="text" id="show_name" name="show_name" placeholder="My Show Name" required><br><br>
<label class="text-info">Show's File (JSON):</label>
<input type="file" id="file" name="file" required><br><br>
<p><input class="btn btn-danger btn-small" name="button2" value="Add the Show!" onClick="addFullShow(this.form)"></p>
</form>
With Javascript I send the data to the server's Python CGI script:
function addFullShow(form) {
alert("about to send form");
var formElement = form;
formData = new FormData(formElement);
var xhr = new XMLHttpRequest();
xhr.open("POST", "myScript.cgi");
xhr.send(formData);
}
And in the server side Python CGI script I have the field storage fs = cgi.FieldStorage()
, and I know how to get the text values, i.e. fs['key'].value
.
How do I save the file uploaded to disk?
I hope I'm clear enough. Thanks!
The client has a simple form that takes a text and a file:
<form name="add_show" id="add_show" action="" method="GET">
<label class="text-info">Show Name:</label>
<input type="text" id="show_name" name="show_name" placeholder="My Show Name" required><br><br>
<label class="text-info">Show's File (JSON):</label>
<input type="file" id="file" name="file" required><br><br>
<p><input class="btn btn-danger btn-small" name="button2" value="Add the Show!" onClick="addFullShow(this.form)"></p>
</form>
With Javascript I send the data to the server's Python CGI script:
function addFullShow(form) {
alert("about to send form");
var formElement = form;
formData = new FormData(formElement);
var xhr = new XMLHttpRequest();
xhr.open("POST", "myScript.cgi");
xhr.send(formData);
}
And in the server side Python CGI script I have the field storage fs = cgi.FieldStorage()
, and I know how to get the text values, i.e. fs['key'].value
.
How do I save the file uploaded to disk?
I hope I'm clear enough. Thanks!
Share Improve this question asked Apr 11, 2013 at 11:47 Oscar_MarianiOscar_Mariani 7683 gold badges9 silver badges23 bronze badges1 Answer
Reset to default 7use this code to store the file on disk
import os, cgi
fs = cgi.FieldStorage()
fileitem = fs['userfile']
# Test if the file was uploaded
if fileitem.filename:
fn = os.path.basename(fileitem.filename)
open('/tmp/' + fn, 'wb').write(fileitem.file.read())
message = 'The file "' + fn + '" was uploaded successfully'
else:
message = 'No file was uploaded'
本文标签:
版权声明:本文标题:javascript - In my Python CGI script, how do I save to disk a file uploaded via POST request of data entered by the user in a fo 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1742396129a2466958.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论