Skip to content

Commit

Permalink
bug: check, allow only video files and replace deprecated functions f…
Browse files Browse the repository at this point in the history
…rom go
  • Loading branch information
chiraglulla committed May 25, 2024
1 parent c31752f commit e30a15d
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 10 deletions.
6 changes: 5 additions & 1 deletion client/upload.html
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,11 @@ <h1 class="page-title special-red">Upload</h1>
placeholder="A movie about car racing."
></textarea>
<label for="video">Drop that video...</label>
<input id="video" type="file" name="video" accept="video/*" />
<input id="video" type="file" name="video" accept=".mp4" />
<br />

<p id="error" class="special-red" style="display: none;"></p>

<br />

<!-- <label for="thumbnail">Thumbnail</label>
Expand Down
13 changes: 12 additions & 1 deletion static/upload.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ const divOutput = document.getElementById("divOutput");
const video = document.getElementById("video");
const title = document.getElementById("title");
const description = document.getElementById("description");
const error = document.getElementById("error");

uploadVideoButton.addEventListener("click", () => {
console.log(title.value);
Expand All @@ -11,8 +12,18 @@ uploadVideoButton.addEventListener("click", () => {
const fileReader = new FileReader();
const theFile = video.files[0];

console.log(theFile.type);
const type = theFile.type;
if(type !== "video/mp4") {
error.textContent = "Only .mp4 files are supported";
error.style.display = "block";
return;
}

error.style.display = "none";

fileReader.onload = async (ev) => {
const CHUNK_SIZE = 5000000;
const CHUNK_SIZE = 20000000;
const chunkCount = parseInt(ev.target.result.byteLength / CHUNK_SIZE);
console.log(chunkCount);
console.log("Read successfully");
Expand Down
18 changes: 10 additions & 8 deletions utils/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import (
"crypto/sha1"
"database/sql"
"fmt"
"io/ioutil"
"io"
"log"
"mime/multipart"
"net/http"
Expand Down Expand Up @@ -68,7 +68,7 @@ func BreakFile(videoPath string, fileName string) bool {
}

func ResumeUploadIfAny(db *sql.DB) {
folders, err := ioutil.ReadDir("segments")
folders, err := os.ReadDir("segments")

if err != nil {
log.Fatal(err)
Expand All @@ -80,7 +80,7 @@ func ResumeUploadIfAny(db *sql.DB) {
}

func UploadToAppwrite(folderName string, db *sql.DB) {
files, err := ioutil.ReadDir(fmt.Sprintf("segments/%s", folderName))
files, err := os.ReadDir(fmt.Sprintf("segments/%s", folderName))

if err != nil {
log.Fatal(err)
Expand All @@ -97,8 +97,11 @@ func UploadToAppwrite(folderName string, db *sql.DB) {
log.Println("Now uploading chunks of " + folderName + " to Appwrite Storage...")
var count int = -1
for idx, file := range files {
fileToUpload, err := ioutil.ReadFile(fmt.Sprintf("segments/%s/%s", folderName, file.Name()))

x, err:= os.Stat(fmt.Sprintf("segments/%s/%s", folderName, file.Name()))
log.Println(x.Size(), err)
log.Println(x.Name())
fileToUpload, err := os.ReadFile(fmt.Sprintf("segments/%s/%s", folderName, file.Name()))

if err != nil {
log.Fatal(err)
}
Expand Down Expand Up @@ -154,15 +157,14 @@ func UploadToAppwrite(folderName string, db *sql.DB) {
request.Header.Set("X-Appwrite-Key", os.Getenv("APPWRITE_KEY"))

client := &http.Client{}

response, err := client.Do(request)
if err != nil {
log.Fatal(err)
}

defer response.Body.Close()
log.Println(response.StatusCode)
if response.StatusCode != 201 {
body, err := ioutil.ReadAll(response.Body)
body, err := io.ReadAll(response.Body)
if err != nil {
log.Fatal(err)
}
Expand Down

0 comments on commit e30a15d

Please sign in to comment.