Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP: Longblob tietokantaan

walkout_ [18.07.2017 08:19:11]

#

Hei,

Luen tiedoston palvelimelta näin:

$pdf = file_get_contents($uploadfile);
$pdf = base64_encode($pdf);

Ja lataan sen tietokantaan näin:

$query = $db->prepare($sql);
$query->bindParam(1, $pdf, PDO::PARAM_LOB);
$query->execute();

Mutta tiedosto ei toimi kun sen downloadaa tietokannasta.

Koodi on ennen toiminut ilman ongelmia mutta nyt ei toimi. Voisiko se johtua siitä, että uploadkentään tulee uuden selain tietoturvasyteemin takia C:/fakepath/tiedosto.pdf?

The Alchemist [18.07.2017 08:25:36]

#

Tiedoston lukeminen tietokannasta ei vielä kerro yhtään mitään siitä, kuinka se tarjotaan selaimelle. Laitahan taas kerran relevantti osa koodista ja yritetään sitten arpoa.

walkout_ [18.07.2017 08:31:19]

#

Juu se tarjotaan selaimelle ExtJS 3.4.0 frameworkin AJAX lomakkella ja lomakkeen upload-kentään tulee aina C:/fakepath/tiedosto.pdf.

JavaScript-koodi on sen verran pitkä, että sitä ei viitsi laittaa tähän.

Koodi on täällä: http://application.i4ware.fi/#START

Lisäys: Nyt toimii. Upload-kansion hakemistopolku olikin vain väärin.

groovyb [18.07.2017 11:20:27]

#

ymmärsinkö nyt jotenkin väärin, vai miksi tallennat tiedoston levylle ennen tietokantaan siirtoa? Onko jokin erityinen syy mikset tallenna vastaanotettua binäärimössöä suoraan kantaan? Vaikea uskoa että PHP ei tukisi suoraan upload streamin käsittelyä ilman tmp file -kikkailua.

walkout_ [18.07.2017 12:59:28]

#

Ei tullut meileen lukea tiedsto temp-kansiosta.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta