我需要使用jQuery将文件发送到我的服务器,请问如何使用JSON进行操作?
文件类型不重要,我想在服务器应用程序上接收一个字节数组或类似的东西。
如果有帮助的话,我正在使用ASP.NET应用程序,但我的问题并不是如何在服务器端处理它,而是如何使用jQuery发送文件数据。
我发现了一些使用Flash文件的jQuery上传插件,还有一些不使用Flash的插件,但我真正想知道的是整个过程是如何工作的,而不仅仅是使用别人已经创建好的东西!
我需要使用jQuery将文件发送到我的服务器,请问如何使用JSON进行操作?
文件类型不重要,我想在服务器应用程序上接收一个字节数组或类似的东西。
如果有帮助的话,我正在使用ASP.NET应用程序,但我的问题并不是如何在服务器端处理它,而是如何使用jQuery发送文件数据。
我发现了一些使用Flash文件的jQuery上传插件,还有一些不使用Flash的插件,但我真正想知道的是整个过程是如何工作的,而不仅仅是使用别人已经创建好的东西!
jQuery是JavaScript。我认为你想通过Ajax发送数据这是不可能的。你可以使用一个iframe将文件上传到临时目录(不是默认的temp),然后将信息返回给父页面,告诉它文件保存在哪里,然后你就可以使用它。
没有办法使用Ajax将文件上传到服务器,这太不安全了。
我现在撤回上面的声明。
现在你可以使用JavaScript发布/下载文件数据,这对于初学者来说非常复杂,但现在是可能的,与回答这个问题时不同。
public ActionResult UploadFiles(List<HttpPostedFileBase> uFile)
$.ajaxFileUpload的用法:
$.ajaxFileUpload
(
{
url: "/Controller/UploadFiles",
secureuri: false,
fileElementId: 'uFile', // the id of the file input controls holding the references to the files
dataType: 'json',
success: function (data, status) {
// needs to handle the json return
},
error: function (data, status, e) {
// same as error
}
}
)
对我来说,它非常有效。
通过 AJAX 请求上传文件是行不通的。必须使用完整的 HTTP 请求(POST)。通常使用的任何 jQuery 插件都会使用基于 Flash 或 Java 的小程序,或者使用隐藏的 iframe 技巧,在页面上隐藏一个真正的 iframe 来执行 POST 操作。
您可以使用$.ajax调用HTTP Post,无需手动操作文件内容转换为json。如果您的表单包含输入(type="file"),则有效载荷将在HTTP请求中。如果您能提供有关您的代码的更多详细信息,我可以发送代码示例。
https://stackoverflow.com/search?q=valums
编辑:非常抱歉没有完全阅读你的问题 - 我看了标题,读了前几段,以为我知道你在寻找什么。结果最后一段有一个我没有注意到的排除性条款。