0

HTML5 Builder Embarcadero のアップロード コンポーネントの使用

アップロードは、フォームの送信可能ボタンです。しかし、ドキュメントは実際のファイルがどこにあるかを教えてくれません。アップロードが成功したと想定された後にこの関数が呼び出されると、アップロードのすべての名前が出てきます。メモボックスに一時ファイル名、ファイル名、ファイルサイズなどが表示されます。しかし、Windows 10 またはサーバーで HTML 5 Builder からこれを試してみると、アップロードされたターゲット ファイルがどこにもないようです。私は何かが欠けているに違いない。

 function UploadClick($sender, $params)
    {
      //upload the file
      $this->UploadStatus->Caption = 'BtnUploadClick ' . $this->Upload1->FileName;
      $this->Memo1->AddLine('FileTmpName: ' . $this->Upload1->FileTmpName);
      $this->Memo1->AddLine('FileName: ' . $this->Upload1->FileName);
      $this->Memo1->AddLine('FileSize: ' . $this->Upload1->FileSize);
      $this->Memo1->AddLine('FileType: ' . $this->Upload1->FileType);
      $this->Memo1->AddLine('FileSubType : ' . $this->Upload1->FileSubType);
      $this->Memo1->AddLine('GraphicWidth: ' . $this->Upload1->GraphicWidth);
      $this->Memo1->AddLine('GraphicHeihgt: ' . $this->Upload1->GraphicHeight);
      if($this->Upload1->isGIF ())
          $tmp = ' is gif';
      if($this->Upload1->isJPEG())
          $tmp = ' is jpeg';
      if($this->Upload1->isPNG())
           $tmp = ' is png';
      $this->Memo1->AddLine('File Ext: ' . $this->Upload1->FileExt . $tmp);
  }
4

1 に答える 1

0

例に示されていないのは、サーバーの一時ディレクトリからファイルを収集して、必要な場所に配置する必要があることです。

     if(move_uploaded_file($this->Upload1->FileTmpName, $this->Upload1->FileName))
      {
          echo "File is valid, and was successfully uploaded.\n";
      }
      else
      {
         echo "Possible file upload attack!\n";
      }

前のコードに追加するだけで、ファイルがサーバーのスクリプトの場所に保存されます。

于 2016-02-14T02:10:09.163 に答える