Tukar URL imej kepada contoh Fail
P粉121447292
P粉121447292 2023-09-04 14:58:36
0
1
591
<p>Saya mempunyai tatasusunan data imej dan sedang cuba menukarnya kepada <kod>fail</code>array</p> <pre class="brush:php;toolbar:false;">imej const = [ { img: "http://localhost/images/1.jpg", nama: "1.png", mime_type: "image/jpeg" { img: "http://localhost/images/2.jpg", nama: "2.png", mime_type: "image/jpeg" ] const res: Fail[] = images.map(fungsi (item) { kembalikan Fail baharu([item.img], item.name, { type: item.mime_type }) })</pre> <p>Ini tidak berfungsi :(Seperti yang saya fahami, imej yang ditukar dalam base24 harus dihantar kepada pembina fail? Bagaimanakah caranya? </p> <p>Kemas kini: Saya mempunyai komponen VUE yang mengendalikan imej. Komponen input mempunyai sifat tatasusunan jenis. Cara membuat tatasusunan berdasarkan data yang dikembalikan oleh pangkalan data. Pulangan daripada pangkalan data: pautan imej, nama dan jenis. </p> <p>Jawapan UPD2: </p> <pre class="brush:php;toolbar:false;">biarkan PhotosAsFile: File[] = [] const _photos = [ { url: "http://localhost:8080/images/1.jpeg", nama: "nama1", jenis_mime: "imej/jpeg" { url: "http://localhost:8080/images/2.jpeg", nama: "nama2", jenis_mime: "imej/jpeg" { url: "http://localhost:8080/images/3.jpeg", nama: "name3", mime_type: "image/jpeg" ] data const: Janji<Fail>[] = _photos.map(fungsi tak segerak (item): Janji<Fail> { const myBlob: Blob = menunggu getBlobFromUrl(item.url) const extensionsFile: RegExpMatchArray |. undefined = item.url?.match(/.([^.]+)$/) kembalikan Fail baharu([myBlob], sambunganFail && nama item ? nama item + "." + sambunganFail[1] : "imej.jpeg", { jenis: item.mime_type ?? "image/jpeg", }) }) Promise.all(data).then((values: File[]): void => { PhotosAsFile = nilai }) const getBlobFromUrl = (url): Janji<Blob> kembalikan Janji baharu((selesaikan, tolak): batal => { permintaan const: XMLHttpRequest = XMLHttpRequest() baharu request.open("GET", url, true) request.responseType = "gumpalan" request.onload = () => menyelesaikan(permintaan.tindak balas) } request.onerror = tolak request.send() }) }</pre></p>
P粉121447292
P粉121447292

membalas semua(1)
P粉680087550

Untuk mencipta 文件 (Saya tidak pasti mengapa anda memerlukannya) anda perlu memasukkan data binari

https://developer.mozilla.org/ms -US/docs/Web/API/File/File

Ini ialah fail dalam ingatan. Anda tidak boleh membacanya dari cakera. Anda tidak boleh menulisnya ke cakera. Saya rasa anda boleh menetapkannya kepada nilai dan menghantarnya sebagai FormData.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan