我有这样的代码,允许上传文件到我的网站上的特定目录,但是,我想每一个被上传的文件(这只会是一个.txt文件)将被重新命名为“ equations.txt“,然后下载到我的电脑,然后从服务器上删除。在服务器重命名文件与Python
我需要,例如,如果有人上传了一个名为“test.txt的”文件,就应该把它上传,然后我的服务器上重新命名为“equations.txt”。
到目前为止,现在我把它上传,但是当我添加一行:
os.renames( '/家庭/ XXXX /的public_html/xxxx.com /测试/上传/' + FN , 'equations.txt')
它实际上删除/uploads/目录完全不是在目录 “equations.txt” 重命名文件的...以下是代码:
#! /usr/bin/python
import cgi, os
import cgitb; cgitb.enable()
form = cgi.FieldStorage()
# Get filename here.
fileitem = form['filename']
# Test if the file was uploaded
if fileitem.filename:
# strip leading path from file name to avoid
# directory traversal attacks
fn = os.path.basename(fileitem.filename)
open('/home/xxxx/public_html/xxxx.com/test/uploads/' + fn, 'wb').write(fileitem.file.read())
message = "The file " + fn + " was uploaded successfully"
os.renames('/home/xxxx/public_html/xxxx.com/test/uploads/' + fn, 'equations.txt') ## Error line
else:
message = "No file was uploaded"
print ("""\
Content-type: text/html\n\n
%s
""") % (message)
如果没有上面添加的代码,代码可以正常工作,并将文件上传到/uploads/目录。所以,在我可以继续下一步之前,我需要重命名才能正常工作,谢谢。
+0
顺便说一句,有多个用户同时上传您的设计可能不会工作,你所希望的方式。也许你已经知道这一点,你Q中的例子只是简化了(在这种情况下,谢谢:),所以只是FYI。 –
+0
对,它不是为公众所用,只有少数有私人使用权的人才会使用它,谢谢。 –