Tôi tự hỏi làm thế nào tôi sẽ làm điều này với như jQuery ajax. Ngay bây giờ tôi có một hộp thoại jQuery ui và nó có một tệp đầu vào html trên đó.Cách tải lên tệp thông qua jQuery?
Bây giờ khi người dùng nhấp vào nhập, tôi muốn đăng bài ajax lên máy chủ bằng jQuery.
Tôi không chắc chắn cách chuyển tệp vào chế độ xem tác vụ của mình.
Ngay bây giờ tôi có nó làm một bài đầy đủ trở lại vì vậy tôi có điều này
<% using (Html.BeginForm("Import", "Controller", FormMethod.Post, new { enctype = "multipart/form-data" }))
{%>
<br />
<p><input type="file" id="file" name="file" size="23 accept="text/calendar"></p><br />
<p><input type="submit" value="Upload file" /></p>
<% } %>
Sau đó, trong điều khiển của tôi
public ActionResult Import(HttpPostedFileBase file)
Vì vậy, tôi không chắc chắn làm thế nào để vượt qua trong một HttpPostedFileBase với jQuery và làm thế nào để thiết lập enctype = "multipart/form-data"
trong jQuery.
Sửa
Ok cũng dưới hình thức jQuery plugin có vẻ là con đường để đi.
$('#frm_ImportCalendar').livequery(function()
{
var options = {
dataType: 'json',
success: function(response)
{
alert(response);
}
};
$(this).ajaxForm(options);
});
Tôi đã tự hỏi tại sao json của tôi không hoạt động nhưng ai đó đã đề cập đến bạn không thể sử dụng nó giống như. Tôi đang kiểm tra các liên kết khác, nơi ai đó đã có thể sử dụng json.
Tôi không chắc chắn tại sao trong Lck được sử dụng. Gửi trước phương thức gửi ajax.
Sửa
Làm thế nào tôi có thể thay đổi kết quả json tập tin tải lên trở lại mảng từ điển của tôi?
Dictionary<string, string> result = new Dictionary<string, string>();
result.Add("Msg", "Success!!");
result.Add("Body", calendarBody);
// how can I change this?
return new FileUploadJsonResult { Data = new { message = string.Format("{0} uploaded successfully.", System.IO.Path.GetFileName(file.FileName)) } };
Tôi chỉ đến đây để hỏi tại sao nó sẽ không trở về JSON lol. Tôi đã làm điều gì đó tương tự nhưng Id id không chỉ định .submit. Xem chỉnh sửa cho những gì tôi có cho đến nay. – chobo2
Javascript không thể chấp nhận JSON dưới dạng định dạng dữ liệu cho các yêu cầu tải lên tệp vì lý do bảo mật (được ghi lại trên trang web Biểu mẫu jQuery). Tôi đề nghị bạn sử dụng XML là _almost_ đơn giản để sử dụng như JSON với jQuery ... hoặc có lẽ các giá trị trong văn bản thuần được phân cách bằng dòng mới. Tôi đã sử dụng .ajaxGửi rõ ràng vì tôi lấy ví dụ từ một số mã của dự án của riêng tôi, nơi tôi làm một số nội dung khác với biểu mẫu. Nên thực tế tương đương với mã của bạn anyway. – LorenzCK
Làm thế nào XML này sẽ như thế nào. Tôi đã đăng Bộ sưu tập Từ điển của mình mà tôi chuyển đổi sang kết quả Json làm cách nào tôi có thể chuyển đổi nó thành XML. – chobo2