简介:今天,首席CTO Note将与您分享如何将文件上传到Django。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!
worlds = requests.post(path,data = {'document_name':document_path,'file':base64.b64encode(file.read())})此方法实际上是将base64的文件信息和文件发送到服务器。侧面,有以下方法沉积在服务器中
如何将文件存储在当地
使用WebClient代替FTP
首先,让我们定义一个class uploadfile。此类是文件上传类。编码显示如下:
public void uploadfile(字符串fileNamepath,string uristring,bool isautorEname)
{{{
int indexof = 0;
if(filenamepath.contains(@“”))
{{{
indexof = filenamepath.lastindexof(@“”);
}
否则(filenamepath.contains(“/”))
{{{
indexof = filenamepath.lastindexof(“/”);
}
字符串fileName = filenamepath.substring(indexof + 1);
字符串newFileName = filename;
如果(ISAUTORENAME)
{{{
newfileName = dates.now.tostring(“ yymmddhhmms”) + dateTime.now.millisecond.tostring() + filepath.substring(filenamepath.lastIndexexof(lastIndexexof(“。”);
}
字符串filenameext = filename.substring(filename.lastindexof(“。”) + 1);
if(uristring.endswith(“/”)== false)uristring = uristring +“/”;
uristring = uristring + newfileName;
///创建一个webclient示例
webclient mywebclient = new webclient();
mywebclient.credentials = recredentialCache.defaultCredentials;
//要上传的文件
FILESTREAM FS = NEW FILESTREAM(FILENAME PATH,FIFEMODE.OPEN,FIELEACCESS.READ);
// FILESTREAM FS = OPENFILE();
binarleReader r = new binaryReader(fs);
byte [] postArray = r.readBytes((int)fs.length);
流poststream = mywebclient.openwrite(uristring,“ put”);
这个问题不是文件上传的问题,而是一个非常简单的文件代码。
这在python中很困惑。法定错误。您必须了解django默认为unicode。如果您使用str类型。它将自动转换您。这是python的自动转换。GBK,有时会出错。
您的环境正是Windows。英语('utf-8')英语没有问题。
我建议您在文件前面添加一个编码:UTF-8
然后将此句子更改为
断言(type(file_name)== unicode)
fpath = u'd:/ texthub/texthub/site_media/upload/'+file_name.encode('gb18030')
自己尝试。
结论:以上是首席CTO上传的Django的所有内容,请注意Django如何上传文件。我希望这对每个人都会有所帮助。如果您想了解有关此信息的更多信息,请记住收集并关注此网站。