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

如何在Django提交文件(2023年的最新完成)

时间:2023-03-06 14:40:58 网络应用技术

  简介:本文的首席执行官注释将介绍有关Django如何提交文件的相关内容。我希望这对每个人都会有所帮助。让我们来看看。

  顺便说一句,为什么您必须通过Get提交内容,这一点都不安全。几乎没有人真正开发这样的人,尤其是此私人信息。但是也有一些技巧来获得它。您添加一个onclight ='tijiao()

  JS添加方法

  功能tijiao(){

  window.href ='url?'+encodeuricomponent

  }

  如果您不想跳上页面,请使用Ajax,并且应加密参数

  Encodeuricomponent加密敏感信息。您可以在URL路径页面上的DecoDeuricomponent解码上解码。

  希望收养

  worlds = requests.post(path,data = {'document_name':document_path,'file':base64.b64encode(file.read())})此方法实际上是将base64的文件信息和文件发送到服务器。侧面,有以下方法沉积在服务器中

  如何将文件存储在当地

  给您一个代码:

  首先,您需要使用以下装饰器将Post Data的解析器更改为MultipartParser。其中,Piction的文件字段是fiefield或其子类。

  @api_view(['post'])

  @parser_classes(((倍部分,)))

  def upload_picture(请求):

  如果在request.files中“文件”:

  f = request.files [“文件”]

  图片=图片()

  picture.file = f

  picture.save()

  返回响应(data = {“ id”:picture.id})

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

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

  自己尝试。

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

  尝试

  {{{

  //使用uploadfile方法使用以下格式

  //mywebclient.uploadfile(uristring,“ put”,filenamepath);

  if(poststream.canwrite)

  {{{

  poststream.write(postArray,0,postarray.length);

  poststream.close();

  fs.dispose();

  }

  别的

  {{{

  poststream.close();

  fs.dispose();

  }

  }

  捕获(异常ERR)

  {{{

  poststream.close();

  fs.dispose();

  投掷错误;

  }

  最后

  {{{

  poststream.close();

  fs.dispose();

  }

  }

  好吧,在定义此类课程之后,这取决于我们如何称呼它。在这里我举例说明:

  单击按钮事件:

  私有void Center_Click(对象发送者,EventArgs e)

  {{{

  //上传文件

  //获取文件名,文件扩展名,服务器路径

  字符串filepath = filename.text;//您需要上传的文件,您可以在这里使用OpenFileDialog获取文件

  String Server = @“”“”;//上传路径

  //创建一个webclient示例

  webclient mywebclient = new webclient();

  尝试

  {{{

  //使用uploadfile方法上传

  uploadfile(filepath,server,true);

  MessageBox.Show(“成功上传”,“系统提示”,MessageBoxButtons.ok,MessageBoxicon.Information);

  }

  捕获(异常EX)

  {{{

  MessageBox.Show(ex.message);

  返回;

  }

  }

  这种方法从一个新的数据库开始。对于新的数据库Django,它将在名称前面添加一个前缀,因此它与您构建的表不同。不相信数据库中的表格。

  至于如何使用现有数据库表,您可以自己检查。Django连接现有表的操作步骤,