当前位置: 首页 > 网络应用技术

什么类型的Django上传文件(2023年的最新答案)

时间:2023-03-07 12:20:43 网络应用技术

  简介:许多朋友询问了哪些类型的Django上传文件。本文的首席CTO笔记将为您提供详细的答案,以供所有人参考。我希望这对每个人都会有所帮助!让我们一起看看!

  这个问题不是文件上传的问题,而是一个非常简单的文件编码。

  这在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')

  自己尝试。

  编辑设置:

  Media_root和Media_url表示用户上传的文件。它可以理解为存储可变文件的文件夹。

  这两个参数的用途是什么?

  在诸如Django的FileField和ImageField之类的模型类中,有upload_to参数可供选择。

  上传文件后,它将自动保存到:OS.Path.join(Media_root,upload_to)。在此示例中

  Media_url表示用户可以通过可以访问的URL访问这些上传的文件资源。

  在此示例中,该计算机的地址为:

  然后通过:文件名可以访问相关的上传图片或其他文件。

  static_root和static_url是网站上使用的静态图片,CSS,JS和其他文件的保存地址。可以理解,网站操作期间将不再更改文件的文件夹删除或添加)

  static_url,类似于Media_url;当setter_url为“/static/”时,通过:文件名可以访问相关的静态文件。

  static_root是一个相对特殊的文件夹。这是Django的开发模型与部署模型最不同的地方。

  通常,在开发模式下,我们可以在我们的项目下建立相应的应用程序,然后在每个应用程序下设置相应的静态文件夹。在DEBUG = true中,Django将自动为我们找到这些静态文件(每个应用程序)并在WebPage.ever,在部署模式下,Django认为这些任务更有效地由Web服务器运行。

  因此,部署时,我们需要运行:

  此命令将将每个应用程序中的文件复制到静态目录的文件为static_root文件夹。

  如果在部署模式下,(debug = false)访问相关的网页(例如:文件名,将无法访问django下的每个应用程序中的静态文件夹,而是在static_root中指定的文件夹。

  为了在部署模式下正确使用它,我们还需要将以下内容添加到URLS.PY:

  这相当于在“静态”开头的链接时告诉如何处理Django。

  理解上述内容后,让我们在前端显示图片。

  编写显示视图功能以传递动态图片:

  然后写show.html:

  像其他普通文件上传一样,制作文件表格,在后台接收数据并将其存储到文件中。

  使用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”);

  结论:以上是首席CTO注释为每个人编译的Django上传文件的相关内容的相关内容。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?