在HTTP中有两种POST数据的方式:application/x-www-form-urlencoded
和multipart/form-data
.据我所知,大多数浏览器只能在使用时上传文件multipart/form-data
.在API上下文中使用其中一种编码类型时是否有任何其他指导(不涉及浏览器)?这可能基于:
到目前为止,我基本上没有在网上找到有关使用不同内容类型的正式指导.
REST样式Web服务中的资源批处理操作存在哪些经过验证的设计模式?
我试图在性能和稳定性方面在理想与现实之间取得平衡.我们现在有一个API,所有操作都从列表资源(即:GET /用户)或单个实例(PUT/user/1,DELETE/user/22等)中检索.
在某些情况下,您希望更新整组对象的单个字段.向前后发送每个对象的整个表示来更新一个字段似乎非常浪费.
在RPC样式API中,您可以使用以下方法:
/mail.do?method=markAsRead&messageIds=1,2,3,4... etc.
Run Code Online (Sandbox Code Playgroud)
什么是REST等效的?或者可以偶尔妥协.它是否会破坏设计以在一些特定的操作中添加它真正提高性能等?现在所有情况下的客户端都是Web浏览器(客户端的javascript应用程序).
我想知道是否有人知道全球职位的总长度.例如:
$_POST['formInput'] = "hello world, how long can i be?";
Run Code Online (Sandbox Code Playgroud)
我正在创建一个网站,其中有人会将未知数量的字符输入文本区域,因此可能是word文档上的2页.那么,如果有人知道除了使用后全局之外我怎么能做到这一点?(它不能保存在文件中,作为我不希望其他人找到的重要数据)这将非常有帮助.
谢谢
我需要POST一个大约3mb的巨大字符串,是否可以使用not url params将其发送到php?
如果我用url params发送它,请求达到url的大小限制.
如何解决这个问题?任何线索?
非常感谢.
其实我是这样做的:
$.ajax({
type:'POST',
.......
data:{string:3MB_string}
});
Run Code Online (Sandbox Code Playgroud)
我正在使用PHP和jQuery,我想在一个简单的URL上发送3mb base64字符串给php,就像 site.com/script.php
该字符串是File Reader API base64图像
这是一个字符串的例子,但这不会达到大小限制它不是3mb更少引起麻烦的粘贴,以显示你3mb,http://jsfiddle.net/QSyMc/
我想要做的是使用html fileupload控件选择图像,使用jcrop裁剪选择,在客户端裁剪图像并上传图像.这里是小提琴链接https://jsfiddle.net/govi20/spmc7ymp/
Id用于代码: jcrop图像的
目标
图片 fileupload控件
预览画布预览
clear_selection按钮清除所选区域
设置jcrop.
<script src="./js/jquery.min.js"></script>
<script src="./js/jquery.Jcrop.js"></script>
<script src="./js/jquery.color.js"></script>
Run Code Online (Sandbox Code Playgroud)
清除选择.
<script type="text/javascript">
jQuery(function($){
var api;
$('#target').Jcrop({
// start off with jcrop-light class
bgOpacity: 0.5,
keySupport: false,
bgColor: 'black',
minSize:[240,320],
maxSize:[480,640],
onChange : updatePreview,
onSelect : updatePreview,
height:160,
width:120,
addClass: 'jcrop-normal'
},function(){
api = this;
api.setSelect([0,0,240,320]);
api.setOptions({ bgFade: true });
api.ui.selection.addClass('jcrop-selection');
});
});
Run Code Online (Sandbox Code Playgroud)
在jcrop中显示上传的文件
jQuery('#clear_selection').click(function(){
$('#target').Jcrop({
setSelect: [0,0,0,0],
});
});
Run Code Online (Sandbox Code Playgroud)
裁剪图像并将其分配给画布(从stackoverflow上的一个线程获取此图像)
function readURL(input) {
if (input.files && input.files[0]) {
var reader …
Run Code Online (Sandbox Code Playgroud) 使用HTTP POST可以发送的数据量有限制吗?
我在一些电子邮件中看到附件的限制为25 MB或20 MB ..但我认为它们是由服务器或应用程序强加的......
在普通HTTP方面有任何限制....
此外,字段的价值大小是否也有限制?
为什么隐藏字段中的大值不是好事,或者是它?
可能重复:
发布请求的大小限制是多少?
$ _POST与PHP中的表单一起使用时是否有大小限制?显然,必须有一些限制与$ _GET看到,因为大多数的浏览器将开始在〜250个字符抱怨(或类似的东西),并可能会丢失数据,显然这限制并不适用于$ _ POST.
我可以自己测试一下,但是想到这里简单问一下可能会更快.如果我有一个带有textarea的简单表单,在遇到问题之前我可以输入多少数据?
如何使用POST方法发送大量数据?
我听说post方法默认是8M现在如果超过那个尺寸怎么办?你如何将纯文本发送到服务器?
我有一个带有POST方法的Web API控制器,如下所示.
public class MyController : ApiController
{
// POST: api/Scoring
public HttpResponseMessage Post([FromBody]MyClass request)
{
// some processing of request object
return Request.CreateResponse(HttpStatusCode.OK, someResponseObject);
}
....
}
Run Code Online (Sandbox Code Playgroud)
这由HTTPClient消耗如下
HttpClient httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
httpClient.BaseAddress = new Uri("http://localhost");
MyClass requestClient = new MyClass();
var task = httpClient.PostAsJsonAsync("api/my", requestClient)
Run Code Online (Sandbox Code Playgroud)
当在控制器的POST方法参数中传递的MyObject对象大小很小时,它工作得很好.但是,如果此对象大小很大,我在POST方法参数中获取请求对象的null.在一种情况下,从客户端请求传递的requestClient对象的大小约为5 MB,在POST方法中,我将请求对象作为null.请注意,Web API托管在IIS下.我是否需要根据允许的尺寸更改设置.
更新: 在web.config中添加以下内容解决了POST方法参数中的空对象问题.
httpRuntime maxRequestLength ="2147483647"/>
然后我将requestClient对象的大小增加到~50MB.现在POST方法中的代码永远不会受到攻击.在客户端,在调用PostAsJsonAsyn时,我得到System.Net.HttpRequestException并带有以下消息.
响应状态代码不表示成功:404(未找到).
现在改变maxRequestLength似乎没有任何影响.
我试图通过指定来更改我的 php.ini 文件中的变量max_input_vars
; How many GET/POST/COOKIE input variables may be accepted
max_input_vars = 2500
Run Code Online (Sandbox Code Playgroud)
和跑步
sudo nginx -s reload
Run Code Online (Sandbox Code Playgroud)
尽管我在本地机器 (C:\xampp\php\php.ini) 和 Homestead (/etc/php5/fpm/php.ini) 上将此变量设置为 2500,但我仍然收到以下错误消息
parse_str(): Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini
Run Code Online (Sandbox Code Playgroud)
我知道 .htaccess 在每个站点的基础上覆盖 php.ini,是否还有其他文件覆盖 php.ini?更改php.ini文件后是否还有其他服务需要重新加载?
post ×4
php ×3
http ×2
javascript ×2
jquery ×2
.net-4.5 ×1
ajax ×1
c# ×1
css ×1
homestead ×1
html ×1
http-headers ×1
httpclient ×1
iis-7 ×1
image ×1
jcrop ×1
laravel ×1
rest ×1
size ×1
web-services ×1