上传路径在json内的文件(FosRestBundle)
我正在从事一个项目,在这个项目中,我最喜欢编写一个Rest组件来将用户保存在数据库中。组件还应该将用户的照片保存在服务器上的文件夹中。我将参数作为Json发送到我的RESTAPI 这个我跟踪了一百次。但我还是得到了错误 文件“/home/herval/Desktop/zipf.png”不存在 尝试新建上传路径在json内的文件(FosRestBundle),json,symfony,fosrestbundle,Json,Symfony,Fosrestbundle,我正在从事一个项目,在这个项目中,我最喜欢编写一个Rest组件来将用户保存在数据库中。组件还应该将用户的照片保存在服务器上的文件夹中。我将参数作为Json发送到我的RESTAPI 这个我跟踪了一百次。但我还是得到了错误 文件“/home/herval/Desktop/zipf.png”不存在 尝试新建文件(pathOfTheUploadedFile)时。因此,RESTAPI似乎在本地查看文件。 当我尝试提供服务器上的文件时,它会移动该文件,而不是复制它 谁能帮帮我吗 这是我的密码: 控制器: 实
文件(pathOfTheUploadedFile)
时。因此,RESTAPI似乎在本地查看文件。
当我尝试提供服务器上的文件时,它会移动该文件,而不是复制它
谁能帮帮我吗
这是我的密码:
控制器:
实体
}您可以通过请求访问该文件,并通过以下方式调整数据以适应您的场景:
/**
* @Rest\Post("")
*/
public function mitgliedAnlegenRestAction(Request $request)
{
$parameters = $request->request->all();
$parametersAsArray = json_decode($content, true);
$filesAsArray = $request->files->all();
// You could access to a file uploaded in the file attribute as example
// @var UploadedFile file */
$file = $filesAsArray['file'];
...
希望这有助于我找到另一个解决方案。我不知道如何同时发送JSON和多部分请求。因此,我分离了用户的保存。第一次:只需使用JSON保存用户的数据。第二次:将文件作为多部分上传。它很好用!!!您好@Herval NGANYA您不知道如何在客户端发送多部分数据?
/**
* Mitglied
*
* @ORM\Table(name="mitglied")
* @ORM\Entity(repositoryClass="OrchesterRestBundle\Repository\MitgliedRepository")
*/
class Mitglied
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="username", type="string", length=15)
* @Assert\Length(min=6, max=15)
*/
private $username;
/**
* @var string
*
* @ORM\Column(name="email", type="string", length=100)
* @Assert\Email
*/
private $email;
/**
* @var string
*
* @ORM\Column(name="nachname", type="string", length=100, nullable=true)
* @Assert\Length(min=2, max=100)
*/
private $nachname;
/**
* @var string
*
* @ORM\Column(name="vorname", type="string", length=100, nullable=true)
* @Assert\Length(min=2, max=100)
*/
private $vorname;
/**
* @var string
*
* @ORM\Column(name="pwd", type="string", length=255)
* @Assert\Length(min=6, max=30)
*/
private $pwd;
/**
* @var string
*
* @ORM\Column(name="photo", type="string", length=255, nullable=true)
* @Assert\File(mimeTypes={ "image/jpeg", "image/pjpeg", "image/png", "image/gif" })
*/
private $photo;
/**
* @var \Date
*
* @ORM\Column(name="eintrittsdatum", type="date", nullable=true)
* @Assert\Date()
*/
private $eintrittsdatum;
/**
* @var \Date
*
* @ORM\Column(name="geburtsdatum", type="date", nullable=true)
* @Assert\Date()
*/
private $geburtsdatum;
/**
* @var \DateTime
*
* @ORM\Column(name="reg_datum", type="datetime")
*/
private $regDatum;
/**
* @var string
*
* @ORM\Column(name="token", type="string", length=255, nullable=true)
*/
private $token;
/**
* @var int
*
* @ORM\Column(name="plz", type="integer", nullable=true)
*/
private $plz;
/**
* @var string
*
* @ORM\Column(name="stadt", type="string", length=100, nullable=true)
* @Assert\Length(min=2, max=100)
*/
private $stadt;
/**
* @var string
*
* @ORM\Column(name="strasse", type="string", length=100, nullable=true)
* @Assert\Length(min=3, max=100)
*/
private $strasse;
/**
* @var string
*
* @ORM\Column(name="hausnummer", type="string", length=15, nullable=true)
* @Assert\Length(min=1, max=15)
*/
private $hausnummer;
/**
* @ORM\ManyToOne(targetEntity="OrchesterRestBundle\Entity\Mitglied", cascade={"persist", "remove"})
*/
private $MitgliedErsteller;
/**
* @ORM\ManyToMany(targetEntity="OrchesterRestBundle\Entity\Art", cascade={"persist", "remove"})
*/
private $arts;
/**
* @ORM\ManyToMany(targetEntity="OrchesterRestBundle\Entity\Instrument", cascade={"persist", "remove"})
*/
private $instrumente;
/**
* @ORM\OneToMany(targetEntity="OrchesterRestBundle\Entity\MitgliedGruppe",cascade={"persist", "remove"}, mappedBy="mitglied")
* @ORM\JoinColumn(nullable=true)
*/
private $mitglied_gruppen;
/**
* Constructor
*/
public function __construct($gruppeRepository = NULL)
{
$this->arts = new \Doctrine\Common\Collections\ArrayCollection();
$this->instrumente = new \Doctrine\Common\Collections\ArrayCollection();
$this->mitglied_gruppen = new \Doctrine\Common\Collections\ArrayCollection();
if($gruppeRepository != NULL){
$gruppen = $gruppeRepository->findFromName('ALL');
if($gruppen != NULL)
if($gruppen[0] != NULL){
$mg = new MitgliedGruppe();
$mg->setBeitreten(true);
$mg->setGruppe($gruppen[0]);
$mg->setDatum(date_create('now'));
$mg->setMitglied($this);
$this->addMitgliedGruppen($mg);
}
}
}
/**
* Add art
*
* @param \OrchesterRestBundle\Entity\Art $art
*
* @return Mitglied
*/
public function addArt(\OrchesterRestBundle\Entity\Art $art)
{
if(!$this->arts->contains($art))
$this->arts[] = $art;
return $this;
}
/**
* Remove art
*
* @param \OrchesterRestBundle\Entity\Art $art
*/
public function removeArt(\OrchesterRestBundle\Entity\Art $art)
{
$this->arts->removeElement($art);
}
/**
* Get arts
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getArts()
{
return $this->arts;
}
/**
* Set arts
*
* @param \Doctrine\Common\Collections\Collection $arts
*
* @return \Doctrine\Common\Collections\Collection
*/
public function setArts($arts)
{
return $this->arts = $arts;
}
/**
* Add instrumente
*
* @param \OrchesterRestBundle\Entity\Instrument $instrumente
*
* @return Mitglied
*/
public function addInstrumente(\OrchesterRestBundle\Entity\Instrument $instrumente)
{
if(!$this->instrumente->contains($instrumente))
$this->instrumente[] = $instrumente;
return $this;
}
/**
* Remove instrumente
*
* @param \OrchesterRestBundle\Entity\Instrument $instrumente
*/
public function removeInstrumente(\OrchesterRestBundle\Entity\Instrument $instrumente)
{
$this->instrumente->removeElement($instrumente);
}
/**
* Get instrumente
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getInstrumente()
{
return $this->instrumente;
}
/**
* Set instrumente
*
* @param \Doctrine\Common\Collections\Collection $instrumente
*
* @return \Doctrine\Common\Collections\Collection
*/
public function setInstrumente($instrumente)
{
return $this->instrumente = $instrumente;
}
public function setValueFromJson($json_object){
$this->setUsername($json_object['username']);
$this->setEmail($json_object['email']);
$this->setNachname($json_object['nachname']);
$this->setVorname($json_object['vorname']);
$this->setPwd($json_object['pwd']);
$this->setEintrittsdatum(date_create($json_object['eintrittsdatum']));
$this->setGeburtsdatum(date_create($json_object['geburtsdatum']));
$this->setToken($json_object['token']);
$this->setPlz($json_object['plz']);
$this->setStadt($json_object['stadt']);
$this->setStrasse($json_object['strasse']);
$this->setHausnummer($json_object['hausnummer']);
if(isset($json_object['id']))
return $json_object['id'];
return 0;
}
/**
* Set mitgliedErsteller
*
* @param \OrchesterRestBundle\Entity\Mitglied $mitglied
*
* @return Mitglied
*/
public function setValueFromMitglied($mitglied){
$this->setUsername($mitglied->username);
$this->setEmail($mitglied->email);
$this->setNachname($mitglied->nachname);
$this->setVorname($mitglied->vorname);
$this->setPwd($mitglied->pwd);
$this->setPhoto($mitglied->photo);
$this->setEintrittsdatum($mitglied->eintrittsdatum);
$this->setGeburtsdatum($mitglied->geburtsdatum);
$this->setRegDatum($mitglied->regDatum);
$this->setToken($mitglied->token);
$this->setPlz($mitglied->plz);
$this->setStadt($mitglied->stadt);
$this->setStrasse($mitglied->strasse);
$this->setHausnummer($mitglied->hausnummer);
$this->setArts($mitglied->getArts());
$this->setInstrumente($mitglied->getInstrumente());
}
public function hasArt($g_art){
$artArray = $this->arts->toArray();
foreach($artArray as $art)
if($art->getName() == $g_art)
return true;
return false;
}
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set username
*
* @param string $username
*
* @return Mitglied
*/
public function setUsername($username)
{
$this->username = $username;
return $this;
}
/**
* Get username
*
* @return string
*/
public function getUsername()
{
return $this->username;
}
/**
* Set email
*
* @param string $email
*
* @return Mitglied
*/
public function setEmail($email)
{
$this->email = $email;
return $this;
}
/**
* Get email
*
* @return string
*/
public function getEmail()
{
return $this->email;
}
/**
* Set nachname
*
* @param string $nachname
*
* @return Mitglied
*/
public function setNachname($nachname)
{
$this->nachname = $nachname;
return $this;
}
/**
* Get nachname
*
* @return string
*/
public function getNachname()
{
return $this->nachname;
}
/**
* Set vorname
*
* @param string $vorname
*
* @return Mitglied
*/
public function setVorname($vorname)
{
$this->vorname = $vorname;
return $this;
}
/**
* Get vorname
*
* @return string
*/
public function getVorname()
{
return $this->vorname;
}
/**
* Set pwd
*
* @param string $pwd
*
* @return Mitglied
*/
public function setPwd($pwd)
{
$this->pwd = $pwd;
return $this;
}
/**
* Get pwd
*
* @return string
*/
public function getPwd()
{
return $this->pwd;
}
/**
* Set photo
*
* @param string $photo
*
* @return Mitglied
*/
public function setPhoto($photo)
{
$this->photo = $photo;
return $this;
}
/**
* Get photo
*
* @return string
*/
public function getPhoto()
{
return $this->photo;
}
/**
* Set eintrittsdatum
*
* @param \DateTime $eintrittsdatum
*
* @return Mitglied
*/
public function setEintrittsdatum($eintrittsdatum)
{
$this->eintrittsdatum = $eintrittsdatum;
return $this;
}
/**
* Get eintrittsdatum
*
* @return \DateTime
*/
public function getEintrittsdatum()
{
return $this->eintrittsdatum;
}
/**
* Set geburtsdatum
*
* @param \DateTime $geburtsdatum
*
* @return Mitglied
*/
public function setGeburtsdatum($geburtsdatum)
{
$this->geburtsdatum = $geburtsdatum;
return $this;
}
/**
* Get geburtsdatum
*
* @return \DateTime
*/
public function getGeburtsdatum()
{
return $this->geburtsdatum;
}
/**
* Set regDatum
*
* @param \DateTime $regDatum
*
* @return Mitglied
*/
public function setRegDatum($regDatum)
{
$this->regDatum = $regDatum;
return $this;
}
/**
* Get regDatum
*
* @return \DateTime
*/
public function getRegDatum()
{
return $this->regDatum;
}
/**
* Set token
*
* @param string $token
*
* @return Mitglied
*/
public function setToken($token)
{
$this->token = $token;
return $this;
}
/**
* Get token
*
* @return string
*/
public function getToken()
{
return $this->token;
}
/**
* Set plz
*
* @param integer $plz
*
* @return Mitglied
*/
public function setPlz($plz)
{
$this->plz = $plz;
return $this;
}
/**
* Get plz
*
* @return integer
*/
public function getPlz()
{
return $this->plz;
}
/**
* Set stadt
*
* @param string $stadt
*
* @return Mitglied
*/
public function setStadt($stadt)
{
$this->stadt = $stadt;
return $this;
}
/**
* Get stadt
*
* @return string
*/
public function getStadt()
{
return $this->stadt;
}
/**
* Set strasse
*
* @param string $strasse
*
* @return Mitglied
*/
public function setStrasse($strasse)
{
$this->strasse = $strasse;
return $this;
}
/**
* Get strasse
*
* @return string
*/
public function getStrasse()
{
return $this->strasse;
}
/**
* Set hausnummer
*
* @param string $hausnummer
*
* @return Mitglied
*/
public function setHausnummer($hausnummer)
{
$this->hausnummer = $hausnummer;
return $this;
}
/**
* Get hausnummer
*
* @return string
*/
public function getHausnummer()
{
return $this->hausnummer;
}
/**
* Set mitgliedErsteller
*
* @param \OrchesterRestBundle\Entity\Mitglied $mitgliedErsteller
*
* @return Mitglied
*/
public function setMitgliedErsteller(\OrchesterRestBundle\Entity\Mitglied $mitgliedErsteller = null)
{
$this->MitgliedErsteller = $mitgliedErsteller;
return $this;
}
/**
* Get mitgliedErsteller
*
* @return \OrchesterRestBundle\Entity\Mitglied
*/
public function getMitgliedErsteller()
{
return $this->MitgliedErsteller;
}
/**
* Add mitgliedGruppen
*
* @param \OrchesterRestBundle\Entity\MitgliedGruppe $mitgliedGruppen
*
* @return Mitglied
*/
public function addMitgliedGruppen(\OrchesterRestBundle\Entity\MitgliedGruppe $mitgliedGruppen)
{
$this->mitglied_gruppen[] = $mitgliedGruppen;
return $this;
}
/**
* Remove mitgliedGruppen
*
* @param \OrchesterRestBundle\Entity\MitgliedGruppe $mitgliedGruppen
*/
public function removeMitgliedGruppen(\OrchesterRestBundle\Entity\MitgliedGruppe $mitgliedGruppen)
{
$this->mitglied_gruppen->removeElement($mitgliedGruppen);
}
/**
* Get mitgliedGruppen
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getMitgliedGruppen()
{
return $this->mitglied_gruppen;
}
/**
* @Rest\Post("")
*/
public function mitgliedAnlegenRestAction(Request $request)
{
$parameters = $request->request->all();
$parametersAsArray = json_decode($content, true);
$filesAsArray = $request->files->all();
// You could access to a file uploaded in the file attribute as example
// @var UploadedFile file */
$file = $filesAsArray['file'];
...