Được đặt sẵn khung nội dung Yesod mặc định, với tệp tải lên được triển khai bằng cách di chuyển tệp đã tải lên vào thư mục static
, làm cách nào để liên kết đến tệp trong thư mục tĩnh? Đối với các tệp tĩnh bình thường, mối nối staticFiles
sẽ tạo một số nhận dạng mà tôi có thể tham chiếu, nhưng đối với các tệp do người dùng tải lên rõ ràng là tôi không thể mã hóa các số nhận dạng này. Tôi có thể làm điều này bằng tay bằng cách sử dụng một mối nối #{}
, nhưng tôi đã hy vọng có thể có thứ gì đó an toàn hơn một chút, thậm chí thành phần có thể kiểm tra duy nhất là tôi đã sử dụng tiền tố static/
chính xác.Liên kết tới tệp tĩnh trong Yesod không có mã định danh Haskell
7
A
Trả lời
8
staticFiles
tạo một nhóm số nhận dạng có loại Route Static
. Thật không may, Haddock không hiển thị các thông tin về gia đình loại liên quan, vì vậy bạn không thể nhìn thấy các nhà xây dựng trong các tài liệu, nhưng các nhà xây dựng chỉ có sẵn là StaticRoute
:
https://github.com/yesodweb/yesod/blob/master/yesod-static/Yesod/Static.hs#L142
Hai trường là những thông tin đường dẫn và tham số chuỗi truy vấn. Vì vậy, để tạo ra một liên kết đến /static/foo/bar?baz=bin
, bạn có thể sử dụng:
StaticRoute ["foo", "bar"] [("baz", "bin")]
thường tạo ra một tham số chuỗi truy vấn là không cần thiết, nhưng staticFiles
sẽ sử dụng nó để chèn một giá trị băm cho các mục đích sửa bộ nhớ cache.
Các vấn đề liên quan
- 1. Liên kết đến tệp tĩnh từ Ấp
- 2. Haskell Tĩnh và liên kết động trong triển khai
- 3. Liên kết tới Danh bạ trên Mạng
- 4. Sử dụng Hamlet trong Haskell mà không có Yesod
- 5. Định tuyến Laravel: Cách tạo liên kết tới tệp PDF
- 6. Danh sách liên kết tới DataSource
- 7. Danh sách liên kết tới DataGrid
- 8. Xóa liên kết tới mã nguồn trong doxygen?
- 9. Liên kết tĩnh tĩnh và liên kết động với glibc
- 10. IntelliJ có thể tạo siêu liên kết tới mã nguồn từ đầu ra log4j không?
- 11. g ++ liên kết phụ thuộc thứ tự khi liên kết mã c tới mã C++
- 12. Có trình định dạng mã Haskell không?
- 13. Có liên kết trực tiếp tới bình eclipse.jdt.core không?
- 14. Danh sách liên kết danh sách liên kết trong Java
- 15. Liên kết tĩnh trong C#
- 16. liên kết tĩnh của C++
- 17. Liên kết LLVM JIT Mã với Thư viện LLVM tĩnh?
- 18. Trả lại trạng thái lỗi trong Haskell và Yesod
- 19. Sử dụng các mẫu không liên kết với Danh sách đầy đủ trong Haskell
- 20. Tránh liên kết tới libstdC++
- 21. Lợi thế liên kết tĩnh
- 22. Tôi có thể liên kết MSVCRT tĩnh với mingw không?
- 23. Tạo liên kết HTML tới tệp ở cổng khác?
- 24. liên kết các danh mục mục tiêu-c trong thư viện tĩnh
- 25. Liên kết tĩnh các thư viện SDL2
- 26. Tĩnh liên kết GMP đến một ứng dụng Haskell sử dụng GHC (+ LLVM)
- 27. Liên kết đến Flask các tệp tĩnh với url_for
- 28. CMake và Liên kết tĩnh
- 29. Tại sao tôi cần tệp * .obj khi liên kết tĩnh?
- 30. VS2010: Liên kết trong một thư viện tĩnh tĩnh
Phụ lục quan trọng: vì tĩnh là một site con, để thực sự nhúng liên kết ứng dụng của bạn, bạn sẽ cần phải bọc StaticRoute với StaticR (hoặc bất kỳ hàm tạo nhúng nào của trang con của bạn). Nhưng nếu không, nó hoạt động rất tốt. –